Rev 223 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 223 | Rev 320 | ||
---|---|---|---|
Line 1... | Line -... | ||
1 | ;Addresses for bits |
- | |
2 | - | ||
3 | FPU_FLAG equ 0001h ;Floating-point unit on-Chip |
- | |
4 | VME_FLAG equ 0002h ;Virtual Mode Extension |
- | |
5 | DE_FLAG equ 0004h ;Debugging Extension |
- | |
6 | PSE_FLAG equ 0008h ;Page Size Extension |
- | |
7 | TSC_FLAG equ 0010h ;Time-Stamp Counter |
- | |
8 | MSR_FLAG equ 0020h ;Model Specific Registers |
- | |
9 | PAE_FLAG equ 0040h ;Physical Address Extension |
- | |
10 | MCE_FLAG equ 0080h ;Machine Check Exception |
- | |
11 | CX8_FLAG equ 0100h ;CMPXCHG8 Instruction Supported |
- | |
12 | APIC_FLAG equ 0200h ;On-chip APIC Hardware Supported |
- | |
13 | ;10_FLAG equ 0400h ;Reserved |
- | |
14 | SEP_FLAG equ 0800h ;Fast System Call |
- | |
15 | MTRR_FLAG equ 1000h ;Memory Type Range Registers |
- | |
16 | PGE_FLAG equ 2000h ;Page Global Enable |
- | |
17 | MCA_FLAG equ 4000h ;Machine Check Architecture |
- | |
18 | CMOV_FLAG equ 8000h ;Conditional Move Instruction Supported |
- | |
19 | PAT_FLAG equ 10000h ;Page Attribute Table |
- | |
20 | PSE36_FLAG equ 20000h ;36-bit Page Size Extension |
- | |
21 | PSNUM_FLAG equ 40000h ;Processor serial number present and enabled |
- | |
22 | CLFLUSH_FLAG equ 80000h ;CLFLUSH Instruction supported |
- | |
23 | ;20_FLAG equ 100000h ;Reserved |
- | |
24 | DTS_FLAG equ 200000h ;Debug Store |
- | |
25 | ACPI_FLAG equ 400000h ;Thermal Monitor and Software Controlled Clock Facilities supported |
- | |
26 | MMX_FLAG equ 800000h ;Intel Architecture MMX technology supported |
- | |
27 | FXSR_FLAG equ 1000000h ;Fast floating point save and restore |
- | |
28 | SSE_FLAG equ 2000000h ;Streaming SIMD Extensions supported |
- | |
29 | SSE2_FLAG equ 4000000h ;Streaming SIMD Extensions 2 |
- | |
30 | SS_FLAG equ 8000000h ;Self-Snoop |
- | |
31 | ;HTT_FLAG equ 10000000h ;Hyper-Threading Technology |
- | |
32 | TM_FLAG equ 20000000h ;Thermal Monitor supported |
- | |
33 | IA64_FLAG equ 40000000h ; IA-64 |
- | |
34 | PBE_FLAG equ 80000000h ;Pending Break Enable |
- | |
35 | - | ||
36 | ; ecx cpuid(1) |
- | |
37 | SSE3_FLAG equ 0001h ;SSE3 0 |
- | |
38 | MON_FLAG equ 0008h ;MON -3 |
- | |
39 | DS_CPL_FLAG equ 0010h ;DS-CPL -4 |
- | |
40 | EST_FLAG equ 0080h ; EST-7 |
- | |
41 | TM2_FLAG equ 0100h ; TM2-8 |
- | |
42 | CNXT_ID_FLAG equ 0400h ;CID -10 |
- | |
43 | CX16_FLAG equ 2000h ;CX16 - 13 |
- | |
44 | ETPRD_FLAG equ 4000h ;xTPR - 14 |
- | |
45 | - | ||
46 | ; edx cpuid(8000_0001h) |
- | |
47 | - | ||
48 | SYS_FLAG equ 0800h ;11 |
- | |
49 | - | ||
50 | MP_FLAG equ 80000h ;19 |
- | |
51 | NX_FLAG equ 100000h ;20 |
- | |
52 | MMXPi_FLAG equ 400000h ;22 |
- | |
53 | MMXn_FLAG equ 800000h ;23 |
- | |
54 | FXSRn_FLAG equ 1000000h ;24 äëÿ Ñèðèêñ ýòî ÌÌÕ+ |
- | |
55 | FFXSR_FLAG equ 2000000h ;25 |
- | |
56 | TSCP_FLAG equ 8000000h ;27 |
- | |
57 | LM_FLAG equ 20000000h ;29 |
- | |
58 | DNo_FLAG equ 40000000h ;30 |
- | |
59 | DN_FLAG equ 80000000h ;31 |
- | |
60 | - | ||
61 | ; ecx cpuid(8000_0001h) |
- | |
62 | LAHF_FLAG equ 100000h ;Reserved |
- | |
63 | - | ||
64 | ; optimize the code for size |
1 | ; optimize the code for size |
65 | macro add arg1,arg2 |
2 | macro add arg1,arg2 |
66 | { |
3 | { |
67 | if arg1 in |
4 | if arg1 in |
68 | if arg2 eqtype 0 |
5 | if arg2 eqtype 0 |
Line 118... | Line 55... | ||
118 | } |
55 | } |
Line 119... | Line 56... | ||
119 | 56 | ||
Line -... | Line 57... | ||
- | 57 | ||
- | 58 | ; Interface |
|
- | 59 | ||
- | 60 | macro Window xStart,yStart,xSize,ySize,bColor,gColor,fColor |
|
- | 61 | { |
|
- | 62 | mov ebx,xStart |
|
- | 63 | shl ebx,16 |
|
- | 64 | add ebx,xSize |
|
- | 65 | mov ecx,yStart |
|
- | 66 | shl ecx,16 |
|
- | 67 | add ecx,ySize |
|
- | 68 | mov edx,bColor |
|
- | 69 | mov esi,gColor |
|
- | 70 | mov edi,fColor |
|
- | 71 | xor eax,eax |
|
- | 72 | int 0x40 |
|
120 | 73 | } |
|
121 | ; Interface |
74 | |
122 | 75 | ||
123 | ;WriteTextToWindow |
76 | ;WriteTextToWindow |
124 | macro Text xStart,yStart,rgbColor,pText,nTextLen |
77 | macro Text xStart,yStart,rgbColor,pText,nTextLen |
Line 134... | Line 87... | ||
134 | } |
87 | } |
Line 135... | Line 88... | ||
135 | 88 | ||
136 | ;DisplayNumber |
89 | ;DisplayNumber |
137 | macro Number xStart,yStart,nPrintType,noOfDigits,Data,rgbColor |
90 | macro Number xStart,yStart,nPrintType,noOfDigits,Data,rgbColor |
- | 91 | { |
|
138 | { |
92 | |
139 | mov edx,xStart |
93 | mov edx,xStart |
140 | shl edx,16 |
94 | shl edx,16 |
141 | add edx,yStart |
95 | add edx,yStart |
142 | mov ebx,noOfDigits |
96 | mov ebx,noOfDigits |
Line 159... | Line 113... | ||
159 | mov edx,rgbColor |
113 | mov edx,rgbColor |
160 | mov eax,38 |
114 | mov eax,38 |
161 | int 0x40 |
115 | int 0x40 |
162 | } |
116 | } |
Line 163... | Line -... | ||
163 | - | ||
164 | ;////////////////////////////////////////////// |
117 | |
165 | ; Decoding cache L1,L2,L3 for Intel |
- | |
166 | - | ||
167 | - | ||
168 | decodecache: |
- | |
169 | - | ||
170 | comp0: |
- | |
171 | cmp al, 00h |
- | |
172 | je L000 |
- | |
173 | - | ||
174 | ;-------L2 inst |
- | |
175 | - | ||
176 | comp1: |
- | |
177 | cmp al, 41h |
- | |
178 | je L128 |
- | |
179 | - | ||
180 | - | ||
181 | comp2: |
- | |
182 | cmp al, 42h |
- | |
183 | je L256 |
- | |
184 | - | ||
185 | comp3: |
- | |
186 | cmp al, 43h |
- | |
187 | je L512 |
- | |
188 | - | ||
189 | comp4: |
- | |
190 | cmp al, 44h |
- | |
191 | je L1024 |
- | |
192 | - | ||
193 | - | ||
194 | comp5: |
- | |
195 | cmp al, 45h |
- | |
196 | je L2048 |
- | |
197 | - | ||
198 | ;------------L1 inst |
- | |
199 | comp6: |
- | |
200 | cmp al, 06h |
- | |
201 | je Li8 |
- | |
202 | - | ||
203 | - | ||
204 | comp7: |
- | |
205 | cmp al, 08h |
- | |
206 | je Li16 |
- | |
207 | - | ||
208 | comp8: |
- | |
209 | cmp al, 15h |
- | |
210 | je Li16 |
- | |
211 | - | ||
212 | comp9: |
- | |
213 | cmp al, 77h |
- | |
214 | je Li16 |
- | |
215 | - | ||
216 | comp10: |
- | |
217 | cmp al, 30h |
- | |
218 | je Li32 |
- | |
219 | ;---------------L1 data |
- | |
220 | comp11: |
- | |
221 | cmp al, 0Ah |
- | |
222 | je Ld8 |
- | |
223 | - | ||
224 | comp12: |
- | |
225 | cmp al, 66h |
- | |
226 | je Ld8 |
118 | macro PutImage xPos,yPos,xImage,yImage,pImage |
227 | - | ||
228 | comp13: |
119 | { |
229 | cmp al, 0Ch |
120 | mov ecx,xImage |
230 | je Ld16 |
- | |
231 | - | ||
232 | comp14: |
121 | shl ecx,16 |
233 | cmp al, 10h |
- | |
234 | je Ld16 |
- | |
235 | - | ||
236 | comp15: |
122 | add ecx, yImage |
237 | cmp al, 67h |
123 | mov edx,xPos |
238 | je Ld16 |
- | |
239 | - | ||
240 | comp16: |
- | |
241 | cmp al, 2Ch |
- | |
242 | je Ld32 |
- | |
243 | - | ||
244 | comp17: |
- | |
245 | cmp al, 68h |
- | |
246 | je Ld32 |
- | |
247 | - | ||
248 | ;-------L2 |
- | |
249 | comp18: |
- | |
250 | cmp al, 39h |
- | |
251 | je L128 |
- | |
252 | - | ||
253 | comp19: |
- | |
254 | cmp al, 3Bh |
- | |
255 | je L128 |
- | |
256 | - | ||
257 | comp20: |
- | |
258 | cmp al, 79h |
- | |
259 | je L128 |
- | |
260 | - | ||
261 | comp21: |
- | |
262 | cmp al, 81h |
- | |
263 | je L128 |
- | |
264 | - | ||
265 | comp22: |
- | |
266 | cmp al, 3Ch |
- | |
267 | je L256 |
- | |
268 | - | ||
269 | comp23: |
- | |
270 | cmp al, 7Ah |
- | |
271 | je L256 |
- | |
272 | - | ||
273 | comp24: |
- | |
274 | cmp al, 7Eh |
- | |
275 | je L256 |
- | |
276 | - | ||
277 | comp25: |
- | |
278 | cmp al, 82h |
- | |
279 | je L256 |
- | |
280 | - | ||
281 | comp26: |
- | |
282 | cmp al, 7Bh |
- | |
283 | je L512 |
- | |
284 | - | ||
285 | comp27: |
- | |
286 | cmp al, 83h |
- | |
287 | je L512 |
- | |
288 | - | ||
289 | comp28: |
- | |
290 | cmp al, 86h |
- | |
291 | je L512 |
- | |
292 | - | ||
293 | comp29: |
- | |
294 | cmp al, 7Ch |
- | |
295 | je L1024 |
- | |
296 | - | ||
297 | comp30: |
- | |
298 | cmp al, 84h |
- | |
299 | je L1024 |
- | |
300 | - | ||
301 | comp31: |
- | |
302 | cmp al, 87h |
- | |
303 | je L1024 |
- | |
304 | - | ||
305 | comp32: |
- | |
306 | cmp al, 85h |
- | |
307 | je L2048 |
- | |
308 | - | ||
309 | ;-----L1 Trace instr |
- | |
310 | - | ||
311 | comp33: |
- | |
312 | cmp al, 70h |
- | |
313 | je Li12 |
- | |
314 | - | ||
315 | comp34: |
- | |
316 | cmp al, 71h |
- | |
317 | je Li16 |
- | |
318 | - | ||
319 | comp35: |
- | |
320 | cmp al, 72h |
- | |
321 | je Li32 |
- | |
322 | 124 | shl edx,16 |
|
323 | ;----New codes |
- | |
324 | - | ||
325 | comp36: |
- | |
326 | cmp al, 60h |
- | |
327 | je Ld16 |
- | |
328 | - | ||
329 | comp37: |
125 | add edx,yPos |
330 | cmp al, 78h |
- | |
331 | je L1024 |
- | |
332 | - | ||
333 | comp38: |
126 | mov ebx,pImage |
334 | cmp al, 7Dh |
127 | mov eax,7 |
335 | je L2048 |
- | |
336 | - | ||
337 | ;---- L3 |
- | |
338 | comp39: |
- | |
339 | cmp al, 22h |
- | |
340 | je L305 |
- | |
341 | - | ||
342 | comp40: |
- | |
343 | cmp al, 23h |
- | |
344 | je L31 |
- | |
345 | - | ||
346 | comp41: |
- | |
347 | cmp al, 25h |
- | |
348 | je L32 |
- | |
349 | - | ||
350 | comp42: |
- | |
351 | cmp al, 29h |
- | |
352 | je L34 |
- | |
353 | - | ||
354 | comp43: |
- | |
355 | cmp al, 88h |
- | |
356 | je L32 |
- | |
357 | - | ||
358 | comp44: |
- | |
359 | cmp al, 89h |
- | |
360 | je L34 |
- | |
361 | - | ||
362 | comp45: |
- | |
363 | cmp al, 8Ah |
- | |
364 | je L38 |
- | |
365 | - | ||
366 | comp46: |
- | |
367 | cmp al, 8Dh |
- | |
368 | je L34 |
- | |
369 | - | ||
370 | ;============= v. 2.04 |
- | |
371 | comp47: |
- | |
372 | cmp al, 73h |
- | |
373 | je Li64 |
- | |
374 | - | ||
375 | comp48: |
- | |
376 | cmp al, 1Ah |
- | |
377 | je L96 |
- | |
378 | - | ||
379 | comp49: |
- | |
380 | cmp al, 3Ah |
- | |
381 | je L192 |
- | |
382 | - | ||
383 | comp50: |
- | |
384 | cmp al, 3Dh |
- | |
385 | je L384 |
- | |
386 | - | ||
387 | comp51: |
- | |
388 | cmp al, 3Eh |
- | |
389 | je L512 |
- | |
390 | - | ||
391 | comp52: |
- | |
392 | cmp al, 7Fh |
- | |
393 | je L512 |
- | |
394 | - | ||
395 | comp53: |
- | |
396 | cmp al, 46h |
- | |
397 | je L34 |
- | |
398 | - | ||
399 | comp54: |
- | |
400 | cmp al, 47h |
- | |
401 | je L38 |
- | |
402 | - | ||
403 | comp55: |
- | |
404 | cmp al, 49h |
- | |
405 | je L34 |
- | |
406 | - | ||
407 | comp56: |
- | |
408 | cmp al, 4Ah |
- | |
409 | je L36 |
- | |
410 | - | ||
411 | comp57: |
- | |
412 | cmp al, 4Bh |
- | |
413 | je L38 |
128 | int 0x40 |
414 | - | ||
415 | comp58: |
- | |
416 | cmp al, 4Ch |
- | |
Line -... | Line 129... | ||
- | 129 | } |
|
- | 130 | ||
- | 131 | macro Button xStart,yStart,xSize,ySize,nID,rgbColor |
|
- | 132 | { |
|
- | 133 | mov ebx,xStart |
|
- | 134 | shl ebx,16 |
|
417 | je L312 |
135 | add ebx,xSize |
- | 136 | mov ecx,yStart |
|
418 | 137 | shl ecx,16 |
|
- | 138 | add ecx,ySize |
|
- | 139 | mov edx,nID |
|
419 | comp59: |
140 | mov esi,rgbColor |
- | 141 | mov eax,8 |
|
Line -... | Line 142... | ||
- | 142 | int 0x40 |
|
- | 143 | } |
|
- | 144 | ||
- | 145 | macro CreateTread EntryPoint,StackPos |
|
- | 146 | { |
|
- | 147 | xor ebx,ebx |
|
- | 148 | inc ebx |
|
420 | cmp al, 4Dh |
149 | mov ecx,EntryPoint |
- | 150 | mov edx,StackPos |
|
Line 421... | Line -... | ||
421 | je L316 |
- | |
422 | - | ||
423 | jne L000 |
- | |
424 | - | ||
425 | ;------------------ |
- | |
426 | Li8: |
- | |
427 | mov [L1i], 8 |
- | |
428 | jmp L000 |
- | |
429 | - | ||
430 | Li12: |
- | |
431 | mov [L1i], 12 |
- | |
432 | jmp L000 |
- | |
433 | - | ||
434 | Li16: |
- | |
435 | mov [L1i], 16 |
- | |
436 | jmp L000 |
- | |
437 | - | ||
438 | Li32: |
- | |
439 | mov [L1i], 32 |
- | |
440 | jmp L000 |
- | |
441 | - | ||
442 | Li64: |
- | |
443 | mov [L1i], 64 |
- | |
444 | jmp L000 |
- | |
445 | - | ||
446 | Ld8: |
- | |
447 | mov [L1d], 8 |
- | |
448 | jmp L000 |
- | |
449 | - | ||
450 | Ld16: |
- | |
451 | mov [L1d], 16 |
- | |
452 | jmp L000 |
- | |
453 | - | ||
454 | Ld32: |
- | |
455 | mov [L1d], 32 |
- | |
456 | jmp L000 |
- | |
457 | - | ||
458 | L96: |
- | |
459 | mov [L2], 96 |
- | |
460 | jmp L000 |
- | |
461 | - | ||
462 | L128: |
- | |
463 | mov [L2], 128 |
- | |
464 | jmp L000 |
- | |
465 | - | ||
466 | L192: |
- | |
467 | mov [L2], 192 |
- | |
468 | jmp L000 |
- | |
469 | - | ||
470 | L256: |
- | |
471 | mov [L2], 256 |
- | |
472 | jmp L000 |
- | |
473 | - | ||
474 | L384: |
- | |
475 | mov [L2], 384 |
- | |
476 | jmp L000 |
- | |
477 | - | ||
478 | L512: |
- | |
479 | mov [L2], 512 |
- | |
480 | jmp L000 |
- | |
481 | - | ||
482 | L1024: |
- | |
483 | mov [L2], 1024 |
- | |
484 | jmp L000 |
- | |
485 | - | ||
486 | L2048: |
- | |
487 | mov [L2], 2048 |
- | |
488 | jmp L000 |
- | |
489 | - | ||
490 | L305: |
- | |
491 | mov [L3], 512 |
- | |
492 | jmp L000 |
- | |
493 | - | ||
494 | L31: |
- | |
495 | mov [L3], 1024 |
- | |
496 | jmp L000 |
- | |
497 | - | ||
498 | L32: |
- | |
499 | mov [L3], 2048 |
- | |
500 | jmp L000 |
- | |
501 | - | ||
502 | L34: |
- | |
503 | mov [L3], 4096 |
- | |
504 | jmp L000 |
- | |
505 | - | ||
506 | L36: |
- | |
507 | mov [L3], 6144 |
- | |
508 | jmp L000 |
- | |
509 | - | ||
510 | L38: |
- | |
511 | mov [L3], 8192 |
- | |
512 | jmp L000 |
- | |
513 | - | ||
514 | L312: |
- | |
515 | mov [L3], 12288 |
- | |
516 | jmp L000 |
- | |
Line 517... | Line -... | ||
517 | - | ||
518 | L316: |
- | |
519 | mov [L3], 16384 |
151 | mov eax,51 |
520 | jmp L000 |
152 | int 0x40 |
Line 672... | Line 304... | ||
672 | jne Bi00 |
304 | jne Bi00 |
Line 673... | Line 305... | ||
673 | 305 | ||
674 | ;------------------ |
306 | ;------------------ |
675 | Bi00: |
307 | Bi00: |
676 | mov byte [brand], bl ;00h |
308 | mov byte [brand], bl ;00h |
677 | Text 275,210,0x00000000,brand0, brand0len-brand0 |
309 | Text 65,270,0x00000000,brand0, brand0len-brand0 |
678 | ;Number 275,200,1*256,2,dword [brand],0x000000 was in v. 1.11 |
310 | ;Number 275,200,1*256,2,dword [brand],0x000000 was in v. 1.11 |
Line 679... | Line 311... | ||
679 | jmp B000 |
311 | jmp B000 |
680 | 312 | ||
681 | Bi01: |
313 | Bi01: |
682 | mov [brand], 01h |
314 | mov [brand], 01h |
Line 683... | Line 315... | ||
683 | Text 275,210,0x00000000,brand01, brand01len-brand01 |
315 | Text 65,270,0x00000000,brand01, brand01len-brand01 |
684 | jmp B000 |
316 | jmp B000 |
685 | 317 | ||
686 | Bi02: |
318 | Bi02: |
Line 687... | Line 319... | ||
687 | mov [brand], 02h |
319 | mov [brand], 02h |
688 | Text 275,210,0x00000000,brand02, brand02len-brand02 |
320 | Text 65,270,0x00000000,brand02, brand02len-brand02 |
Line 689... | Line 321... | ||
689 | jmp B000 |
321 | jmp B000 |
690 | 322 | ||
691 | Bi03: |
323 | Bi03: |
692 | mov [brand], 03h |
324 | mov [brand], 03h |
693 | 325 | ||
694 | cmp [m], 8 |
326 | cmp [m], 8 |
695 | je E3 |
327 | je E3 |
Line 696... | Line 328... | ||
696 | Text 275,210,0x00000000,brand03, brand03len-brand03 |
328 | Text 65,270,0x00000000,brand03, brand03len-brand03 |
697 | jmp B000 |
329 | jmp B000 |
698 | E3: |
330 | E3: |
699 | Text 275,210,0x00000000,brand03d, brand03dlen-brand03d |
331 | Text 65,270,0x00000000,brand03d, brand03dlen-brand03d |
Line 700... | Line 332... | ||
700 | jmp B000 |
332 | jmp B000 |
701 | 333 | ||
702 | Bi04: |
334 | Bi04: |
703 | mov [brand], 04h |
335 | mov [brand], 04h |
Line 704... | Line 336... | ||
704 | Text 275,210,0x00000000,brand04, brand04len-brand04 |
336 | Text 65,270,0x00000000,brand04, brand04len-brand04 |
705 | jmp B000 |
337 | jmp B000 |
706 | 338 | ||
707 | Bi06: |
339 | Bi06: |
Line 708... | Line 340... | ||
708 | mov [brand], 06h |
340 | mov [brand], 06h |
709 | Text 275,210,0x00000000,brand06, brand06len-brand06 |
341 | Text 65,270,0x00000000,brand06, brand06len-brand06 |
710 | jmp B000 |
342 | jmp B000 |
711 | 343 | ||
Line 712... | Line 344... | ||
712 | Bi07: |
344 | Bi07: |
713 | mov [brand], 07h |
345 | mov [brand], 07h |
714 | Text 275,210,0x00000000,brand07, brand07len-brand07 |
346 | Text 65,270,0x00000000,brand07, brand07len-brand07 |
715 | jmp B000 |
347 | jmp B000 |
Line 716... | Line 348... | ||
716 | 348 | ||
717 | Bi08: |
349 | Bi08: |
718 | mov [brand], 08h |
350 | mov [brand], 08h |
719 | Text 275,210,0x00000000,brand08, brand08len-brand08 |
351 | Text 65,270,0x00000000,brand08, brand08len-brand08 |
Line 720... | Line 352... | ||
720 | jmp B000 |
352 | jmp B000 |
721 | 353 | ||
Line 722... | Line 354... | ||
722 | Bi09: |
354 | Bi09: |
723 | mov [brand], 09h |
355 | mov [brand], 09h |
724 | Text 275,210,0x00000000,brand09, brand09len-brand09 |
356 | Text 65,270,0x00000000,brand09, brand09len-brand09 |
725 | jmp B000 |
357 | jmp B000 |
726 | 358 | ||
727 | Bi0A: |
359 | Bi0A: |
728 | mov [brand], 0Ah |
360 | mov [brand], 0Ah |
Line 729... | Line 361... | ||
729 | Text 275,210,0x00000000,brand0A, brand0Alen-brand0A |
361 | Text 65,270,0x00000000,brand0A, brand0Alen-brand0A |
730 | jmp B000 |
362 | jmp B000 |
731 | 363 | ||
732 | Bi0B: |
364 | Bi0B: |
Line 733... | Line 365... | ||
733 | mov [brand], 0Bh |
365 | mov [brand], 0Bh |
734 | 366 | ||
Line 735... | Line 367... | ||
735 | cmp [m], 13 |
367 | cmp [m], 13 |
736 | jl Eb |
368 | jl Eb |
737 | Text 275,210,0x00000000,brand0B, brand0Blen-brand0B |
369 | Text 65,270,0x00000000,brand0B, brand0Blen-brand0B |
738 | jmp B000 |
370 | jmp B000 |
739 | Eb: |
371 | Eb: |
740 | Text 275,210,0x00000000,brand0Bd, brand0Bdlen-brand0Bd |
372 | Text 65,270,0x00000000,brand0Bd, brand0Bdlen-brand0Bd |
741 | jmp B000 |
373 | jmp B000 |
Line 742... | Line 374... | ||
742 | 374 | ||
743 | Bi0C: |
375 | Bi0C: |
744 | mov [brand], 0Ch |
376 | mov [brand], 0Ch |
745 | Text 275,210,0x00000000,brand0C, brand0Clen-brand0C |
377 | Text 65,270,0x00000000,brand0C, brand0Clen-brand0C |
Line 746... | Line 378... | ||
746 | jmp B000 |
378 | jmp B000 |
747 | 379 | ||
748 | Bi0E: |
380 | Bi0E: |
749 | mov [brand], 0Eh |
381 | mov [brand], 0Eh |
Line 750... | Line 382... | ||
750 | 382 | ||
751 | cmp [m], 13 |
383 | cmp [m], 13 |
752 | jl Ed |
384 | jl Ed |
753 | Text 275,210,0x00000000,brand0E, brand0Elen-brand0E |
385 | Text 65,270,0x00000000,brand0E, brand0Elen-brand0E |
Line 754... | Line 386... | ||
754 | jmp B000 |
386 | jmp B000 |
755 | Ed: |
387 | Ed: |
756 | Text 275,210,0x00000000,brand0Ed, brand0Edlen-brand0Ed |
388 | Text 65,270,0x00000000,brand0Ed, brand0Edlen-brand0Ed |
757 | jmp B000 |
389 | jmp B000 |
Line 758... | Line 390... | ||
758 | 390 | ||
759 | Bi0F: |
391 | Bi0F: |
760 | mov [brand], 0Fh |
392 | mov [brand], 0Fh |
761 | Text 275,210,0x00000000,brand0F, brand0Flen-brand0F |
393 | Text 65,270,0x00000000,brand0F, brand0Flen-brand0F |
Line 762... | Line 394... | ||
762 | jmp B000 |
394 | jmp B000 |
763 | 395 | ||
764 | Bi11: |
396 | Bi11: |
765 | mov [brand], 11h |
397 | mov [brand], 11h |
Line 766... | Line 398... | ||
766 | Text 275,210,0x00000000,brand11, brand11len-brand11 |
398 | Text 65,270,0x00000000,brand11, brand11len-brand11 |
767 | jmp B000 |
399 | jmp B000 |
768 | 400 | ||
769 | Bi12: |
401 | Bi12: |
Line 770... | Line 402... | ||
770 | mov [brand], 12h |
402 | mov [brand], 12h |
771 | Text 275,210,0x00000000,brand12, brand12len-brand12 |
403 | Text 65,270,0x00000000,brand12, brand12len-brand12 |
772 | jmp B000 |
404 | jmp B000 |
773 | 405 | ||
Line 774... | Line 406... | ||
774 | Bi13: |
406 | Bi13: |
Line 775... | Line 407... | ||
775 | mov [brand], 13h |
407 | mov [brand], 13h |
776 | Text 275,210,0x00000000,brand13, brand13len-brand13 |
- | |
777 | jmp B000 |
- | |
778 | - | ||
779 | Bi14: |
- | |
780 | mov [brand], 14h |
- | |
781 | Text 275,210,0x00000000,brand14, brand14len-brand14 |
- | |
782 | jmp B000 |
- | |
783 | - | ||
784 | Bi15: |
- | |
785 | mov [brand], 15h |
- | |
786 | Text 275,210,0x00000000,brand15, brand15len-brand15 |
- | |
787 | jmp B000 |
- | |
788 | - | ||
789 | Bi16: |
- | |
790 | mov [brand], 16h |
- | |
791 | Text 275,210,0x00000000,brand16, brand16len-brand16 |
- | |
792 | jmp B000 |
- | |
793 | - | ||
794 | Bi17: |
- | |
795 | mov [brand], 17h |
- | |
796 | Text 275,210,0x00000000,brand17, brand17len-brand17 |
- | |
797 | jmp B000 |
- | |
798 | - | ||
799 | B000: |
- | |
800 | - | ||
801 | ret |
- | |
802 | ;////////////////////////////////////////////// |
- | |
803 | - | ||
804 | ;decoding standard features |
- | |
805 | - | ||
806 | decode_standard_features: |
- | |
807 | - | ||
808 | xor eax,eax |
- | |
809 | inc eax |
- | |
810 | cpuid |
- | |
811 | - | ||
812 | Test0: |
- | |
813 | test edx, FPU_FLAG |
- | |
814 | jnz Test0e |
- | |
815 | - | ||
816 | mov dword [FPU+6], $6F6E |
- | |
817 | jmp Test1 |
- | |
818 | - | ||
819 | Test0e: |
- | |
820 | mov dword [FPU+6], $736579 |
- | |
821 | - | ||
822 | ;;;;;; |
- | |
823 | Test1: |
- | |
824 | test edx, VME_FLAG |
- | |
825 | jnz Test1e |
- | |
826 | - | ||
827 | mov dword [VME+ 7], $6F6E |
- | |
828 | jmp Test2 |
- | |
829 | - | ||
830 | Test1e: |
- | |
831 | mov dword [VME+ 7], $736579 |
- | |
832 | - | ||
833 | ;;;;;; |
- | |
834 | Test2: |
- | |
835 | test edx, DE_FLAG |
- | |
836 | jnz Test2e |
- | |
837 | - | ||
838 | mov dword [DE+ 7], $6F6E |
- | |
839 | jmp Test3 |
- | |
840 | - | ||
841 | Test2e: |
- | |
842 | mov dword [DE+ 7], $736579 |
- | |
843 | ;;;;;; |
- | |
844 | - | ||
845 | Test3: |
- | |
846 | test edx, PSE_FLAG |
- | |
847 | jnz Test3e |
- | |
848 | - | ||
849 | mov dword [PSE+ 8], $6F6E |
- | |
850 | jmp Test4 |
- | |
851 | - | ||
852 | Test3e: |
- | |
853 | mov dword [PSE+ 8], $736579 |
- | |
854 | - | ||
855 | ;;;; |
- | |
856 | Test4: |
- | |
857 | test edx, TSC_FLAG |
- | |
858 | jnz Test4e |
- | |
859 | - | ||
860 | mov dword [TSC+ 6], $6F6E |
- | |
861 | jmp Test5 |
- | |
862 | - | ||
863 | Test4e: |
- | |
864 | mov dword [TSC+ 6], $736579 |
- | |
865 | - | ||
866 | ;;;; |
- | |
867 | Test5: |
- | |
868 | test edx, MSR_FLAG |
- | |
869 | jnz Test5e |
- | |
870 | - | ||
871 | mov dword [MSR+ 7], $6F6E |
- | |
872 | jmp Test6 |
- | |
873 | - | ||
874 | Test5e: |
- | |
875 | mov dword [MSR+ 7], $736579 |
- | |
876 | - | ||
877 | ;;;; |
- | |
878 | Test6: |
- | |
879 | test edx, PAE_FLAG |
- | |
880 | jnz Test6e |
- | |
881 | - | ||
882 | mov dword [PAE+ 7], $6F6E |
- | |
883 | jmp Test7 |
- | |
884 | - | ||
885 | Test6e: |
- | |
886 | mov dword [PAE+ 7], $736579 |
- | |
887 | - | ||
888 | ;;;; |
- | |
889 | Test7: |
- | |
890 | test edx, MCE_FLAG |
- | |
891 | jnz Test7e |
- | |
892 | - | ||
893 | mov dword [MCE+ 8], $6F6E |
- | |
894 | jmp Test8 |
- | |
895 | - | ||
896 | Test7e: |
- | |
897 | mov dword [MCE+ 8], $736579 |
- | |
898 | - | ||
899 | ;;;; |
- | |
900 | Test8: |
- | |
901 | test edx, CX8_FLAG |
- | |
902 | jnz Test8e |
- | |
903 | - | ||
904 | mov dword [CX8+ 6], $6F6E |
- | |
905 | jmp Test9 |
- | |
906 | - | ||
907 | Test8e: |
- | |
908 | mov dword [CX8+ 6], $736579 |
- | |
909 | ;;;; |
- | |
910 | - | ||
911 | Test9: |
- | |
912 | test edx, APIC_FLAG |
- | |
913 | jnz Test9e |
- | |
914 | - | ||
915 | mov dword [APIC+ 7], $6F6E |
- | |
916 | jmp Test11 |
- | |
917 | - | ||
918 | Test9e: |
- | |
919 | mov dword [APIC+ 7], $736579 |
- | |
920 | ;;;;; |
- | |
921 | - | ||
922 | Test11: |
- | |
923 | test edx, SEP_FLAG |
- | |
924 | jnz Test11e |
- | |
925 | - | ||
926 | mov dword [SEP+ 8], $6F6E |
- | |
927 | jmp Test12 |
- | |
928 | - | ||
929 | Test11e: |
- | |
930 | mov dword [SEP+ 8], $736579 |
- | |
931 | ;;;; |
- | |
932 | - | ||
933 | Test12: |
- | |
934 | test edx, MTRR_FLAG |
- | |
935 | jnz Test12e |
- | |
936 | - | ||
937 | mov dword [MTRR+ 6], $6F6E |
- | |
938 | jmp Test13 |
- | |
939 | - | ||
940 | Test12e: |
- | |
941 | mov dword [MTRR+ 6], $736579 |
- | |
942 | ;;;; |
- | |
943 | - | ||
944 | Test13: |
- | |
945 | test edx, PGE_FLAG |
- | |
946 | jnz Test13e |
- | |
947 | - | ||
948 | mov dword [PGE+ 7], $6F6E |
- | |
949 | jmp Test14 |
- | |
950 | - | ||
951 | Test13e: |
- | |
952 | mov dword [PGE+ 7], $736579 |
- | |
953 | ;;;;; |
- | |
954 | - | ||
955 | Test14: |
- | |
956 | test edx, MCA_FLAG |
- | |
957 | jnz Test14e |
- | |
958 | - | ||
959 | mov dword [MCA+ 7], $6F6E |
- | |
960 | jmp Test15 |
- | |
961 | - | ||
962 | Test14e: |
- | |
963 | mov dword [MCA+ 7], $736579 |
- | |
964 | ;;;; |
- | |
965 | - | ||
966 | Test15: |
- | |
967 | test edx, CMOV_FLAG |
- | |
968 | jnz Test15e |
- | |
969 | - | ||
970 | mov dword [CMOV+ 8], $6F6E |
- | |
971 | jmp Test16 |
- | |
972 | - | ||
973 | Test15e: |
- | |
974 | mov dword [CMOV+ 8], $736579 |
- | |
975 | ;;;; |
- | |
976 | - | ||
977 | Test16: |
- | |
978 | test edx, PAT_FLAG |
- | |
979 | jnz Test16e |
- | |
980 | - | ||
981 | mov dword [PAT+ 6], $6F6E |
- | |
982 | jmp Test17 |
- | |
983 | - | ||
984 | Test16e: |
- | |
985 | mov dword [PAT+ 6], $736579 |
- | |
986 | ;;;; |
- | |
987 | - | ||
988 | Test17: |
- | |
989 | test edx, PSE36_FLAG |
- | |
990 | jnz Test17e |
- | |
991 | - | ||
992 | mov dword [PSE36+ 7], $6F6E |
- | |
993 | jmp Test18 |
- | |
994 | - | ||
995 | Test17e: |
- | |
996 | mov dword [PSE36+ 7], $736579 |
- | |
997 | ;;;; |
- | |
998 | - | ||
999 | Test18: |
- | |
1000 | test edx, PSNUM_FLAG |
- | |
1001 | jnz Test18e |
- | |
1002 | - | ||
1003 | mov dword [PSNUM+ 7], $6F6E |
- | |
1004 | jmp Test19 |
- | |
1005 | - | ||
1006 | Test18e: |
- | |
1007 | mov dword [PSNUM+ 7], $736579 |
- | |
1008 | ;;;; |
- | |
1009 | - | ||
1010 | Test19: |
- | |
1011 | test edx, CLFLUSH_FLAG |
- | |
1012 | jnz Test19e |
- | |
1013 | - | ||
1014 | mov dword [CLFLUSHn + 8], $6F6E |
- | |
1015 | jmp Test21 |
- | |
1016 | - | ||
1017 | Test19e: |
- | |
1018 | mov dword [CLFLUSHn + 8], $736579 |
- | |
1019 | ;;;; |
- | |
1020 | - | ||
1021 | Test21: |
- | |
1022 | test edx, DTS_FLAG |
- | |
1023 | jnz Test21e |
- | |
1024 | - | ||
1025 | mov dword [DTS+ 7], $6F6E |
- | |
1026 | jmp Test22 |
- | |
1027 | - | ||
1028 | Test21e: |
- | |
1029 | mov dword [DTS+ 7], $736579 |
- | |
1030 | ;;;; |
- | |
1031 | - | ||
1032 | Test22: |
- | |
1033 | test edx, ACPI_FLAG |
- | |
1034 | jnz Test22e |
- | |
1035 | - | ||
1036 | mov dword [ACPI+ 7], $6F6E |
- | |
1037 | jmp Test23 |
- | |
1038 | - | ||
1039 | Test22e: |
- | |
1040 | mov dword [ACPI+ 7], $736579 |
- | |
1041 | ;;;;; |
- | |
1042 | - | ||
1043 | Test23: |
- | |
1044 | test edx, MMX_FLAG |
- | |
1045 | jnz Test23e |
- | |
1046 | - | ||
1047 | mov dword [MMX+ 8], $6F6E |
- | |
1048 | mov dword [MMXs+ 7], $6F6E |
- | |
1049 | jmp Test24 |
- | |
1050 | - | ||
1051 | Test23e: |
- | |
1052 | mov dword [MMX+ 8], $736579 |
- | |
1053 | mov dword [MMXs+ 7], $736579 |
- | |
1054 | ;;;;; |
- | |
1055 | - | ||
1056 | Test24: |
- | |
1057 | test edx, FXSR_FLAG |
- | |
1058 | jnz Test24e |
- | |
1059 | - | ||
1060 | mov dword [FXSR+ 6], $6F6E |
- | |
1061 | jmp Test25 |
- | |
1062 | - | ||
1063 | Test24e: |
- | |
1064 | mov dword [FXSR+ 6], $736579 |
- | |
1065 | ;;;;; |
- | |
1066 | - | ||
1067 | Test25: |
- | |
1068 | test edx, SSE_FLAG |
- | |
1069 | jnz Test25e |
- | |
1070 | - | ||
1071 | mov dword [SSE+ 7], $6F6E |
- | |
1072 | jmp Test26 |
- | |
1073 | - | ||
1074 | Test25e: |
- | |
1075 | mov dword [SSE+ 7], $736579 |
- | |
1076 | - | ||
1077 | ;;;; |
- | |
1078 | Test26: |
- | |
1079 | test edx, SSE2_FLAG |
- | |
1080 | jnz Test26e |
- | |
1081 | - | ||
1082 | mov dword [SSE2+ 7], $6F6E |
- | |
1083 | jmp Test27 |
- | |
1084 | - | ||
1085 | Test26e: |
- | |
1086 | mov dword [SSE2+ 7], $736579 |
- | |
1087 | - | ||
1088 | ;;;; |
- | |
1089 | - | ||
1090 | Test27: |
- | |
1091 | test edx, SS_FLAG |
- | |
1092 | jnz Test27e |
- | |
1093 | - | ||
1094 | mov dword [SSn+ 8], $6F6E |
- | |
1095 | jmp Test29;28 |
- | |
1096 | - | ||
1097 | Test27e: |
- | |
1098 | mov dword [SSn+ 8], $736579 |
- | |
1099 | - | ||
1100 | ;;;; |
- | |
1101 | - | ||
1102 | ;Test28: |
- | |
1103 | ;test edx, HTT_FLAG |
- | |
1104 | ;jnz Test28e |
- | |
1105 | ; |
- | |
1106 | ;mov dword [HTT+ 8], $6F6E |
- | |
1107 | ;jmp Test29 |
- | |
1108 | ; |
- | |
1109 | ;Test28e: |
- | |
1110 | ;mov dword [HTT+ 8], $736579 |
- | |
1111 | - | ||
1112 | ;;;; |
- | |
1113 | - | ||
1114 | Test29: |
- | |
1115 | test edx, TM_FLAG |
- | |
1116 | jnz Test29e |
- | |
1117 | - | ||
1118 | mov dword [TM+ 7], $6F6E |
- | |
1119 | jmp Test30 |
- | |
1120 | - | ||
1121 | Test29e: |
- | |
1122 | mov dword [TM+ 7], $736579 |
- | |
1123 | - | ||
1124 | ;;;; |
- | |
1125 | - | ||
1126 | Test30: |
- | |
1127 | test edx, IA64_FLAG |
- | |
1128 | jnz Test30e |
- | |
1129 | - | ||
1130 | mov dword [IA64+ 7], $6F6E |
- | |
1131 | jmp Test31 |
- | |
1132 | - | ||
1133 | Test30e: |
- | |
1134 | mov dword [IA64+ 7], $736579 |
- | |
1135 | - | ||
1136 | ;;;; |
- | |
1137 | Test31: |
- | |
1138 | test edx, PBE_FLAG |
- | |
1139 | jnz Test31e |
- | |
1140 | - | ||
1141 | mov dword [PBE+ 8], $6F6E |
- | |
1142 | jmp Standart_out |
- | |
1143 | - | ||
1144 | Test31e: |
- | |
1145 | mov dword [PBE+ 8], $736579 |
- | |
1146 | - | ||
1147 | Standart_out: |
- | |
1148 | - | ||
1149 | ret |
- | |
1150 | ;////////////////////////////////////////////// |
- | |
1151 | decode_sse3: ; is SS3 supported |
- | |
1152 | xor eax,eax |
- | |
1153 | inc eax |
- | |
1154 | cpuid |
- | |
1155 | test ecx, $1 ; Test bit 1 |
- | |
1156 | jnz .EX; SSE3 technology is supported |
- | |
1157 | jz .EXN |
- | |
1158 | - | ||
1159 | .EX: |
- | |
1160 | mov dword [sse3+ 6], $736579 |
- | |
1161 | mov [sse3sup], 1 |
- | |
1162 | jmp exitter |
- | |
1163 | .EXN: |
- | |
1164 | mov dword [sse3+ 6], $6F6E |
- | |
1165 | mov [sse3sup],0 |
- | |
1166 | - | ||
1167 | exitter: |
- | |
1168 | - | ||
1169 | ret |
- | |
1170 | ;////////////////////////////////////////////// |
- | |
1171 | decode_extended_features: |
- | |
1172 | xor eax,eax |
- | |
1173 | inc eax |
- | |
1174 | cpuid |
- | |
1175 | Tes1: |
- | |
1176 | test ecx, SSE3_FLAG |
- | |
1177 | jnz Tes1e |
- | |
1178 | - | ||
1179 | mov dword [SS3+ 8], $6F6E |
- | |
1180 | jmp Tes2 |
- | |
1181 | - | ||
1182 | Tes1e: |
- | |
1183 | mov dword [SS3+ 8], $736579 |
- | |
1184 | - | ||
1185 | - | ||
1186 | Tes2: |
- | |
1187 | test ecx, MON_FLAG |
- | |
1188 | jnz Tes2e |
- | |
1189 | - | ||
1190 | mov dword [MON+ 8], $6F6E |
- | |
1191 | jmp Tes3 |
- | |
1192 | - | ||
1193 | Tes2e: |
- | |
1194 | mov dword [MON+ 8], $736579 |
- | |
1195 | - | ||
1196 | - | ||
1197 | Tes3: |
- | |
1198 | test ecx, DS_CPL_FLAG |
- | |
1199 | jnz Tes3e |
- | |
1200 | - | ||
1201 | mov dword [DS_CPL+ 8], $6F6E |
- | |
1202 | jmp Tes4 |
- | |
1203 | - | ||
1204 | Tes3e: |
- | |
1205 | mov dword [DS_CPL+ 8], $736579 |
- | |
1206 | - | ||
1207 | Tes4: |
- | |
1208 | test ecx, EST_FLAG |
- | |
1209 | jnz Tes4e |
- | |
1210 | - | ||
1211 | mov dword [EST+ 8], $6F6E |
- | |
1212 | jmp Tes5 |
- | |
1213 | - | ||
1214 | Tes4e: |
- | |
1215 | mov dword [EST+ 8], $736579 |
- | |
1216 | - | ||
1217 | - | ||
1218 | Tes5: |
- | |
1219 | test ecx, TM2_FLAG |
- | |
1220 | jnz Tes5e |
- | |
1221 | - | ||
1222 | mov dword [TM2+ 8], $6F6E |
- | |
1223 | jmp Tes6 |
- | |
1224 | - | ||
1225 | Tes5e: |
- | |
1226 | mov dword [TM2+ 8], $736579 |
- | |
1227 | - | ||
1228 | - | ||
1229 | Tes6: |
- | |
1230 | test ecx, CNXT_ID_FLAG |
- | |
1231 | jnz Tes6e |
- | |
1232 | - | ||
1233 | mov dword [CNXT_ID+ 9], $6F6E |
- | |
1234 | jmp Tes7 |
- | |
1235 | - | ||
1236 | Tes6e: |
- | |
1237 | mov dword [CNXT_ID+ 9], $736579 |
- | |
1238 | - | ||
1239 | - | ||
1240 | Tes7: |
- | |
1241 | test ecx, CX16_FLAG |
- | |
1242 | jnz Tes7e |
- | |
1243 | - | ||
1244 | mov dword [CX16+ 9], $6F6E |
- | |
1245 | jmp Tes8 |
- | |
1246 | - | ||
1247 | Tes7e: |
- | |
1248 | mov dword [CX16+ 9], $736579 |
- | |
1249 | - | ||
1250 | - | ||
1251 | Tes8: |
- | |
1252 | test ecx, ETPRD_FLAG |
- | |
1253 | jnz Tes8e |
- | |
1254 | - | ||
1255 | mov dword [ETPRD+ 9], $6F6E |
- | |
1256 | jmp Tes9 |
- | |
1257 | - | ||
1258 | Tes8e: |
- | |
1259 | mov dword [ETPRD+ 9], $736579 |
- | |
1260 | - | ||
1261 | Tes9: |
- | |
1262 | - | ||
1263 | ret |
- | |
1264 | - | ||
1265 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
1266 | decode_extended: |
- | |
1267 | xor eax, eax |
- | |
1268 | mov eax,$80000000 |
- | |
1269 | cpuid |
- | |
1270 | ;cmp eax,$80000000 |
- | |
1271 | test eax, 80000000h |
- | |
1272 | jnz gooodd |
- | |
1273 | ; |
- | |
1274 | jmp baaad |
- | |
1275 | - | ||
1276 | baaad: |
- | |
1277 | ;mov dword [MP+8], $6F6E |
- | |
1278 | ;mov dword [NX+ 8], $6F6E |
- | |
1279 | ;mov dword [MMXPi+ 8], $6F6E |
- | |
1280 | ;mov dword [MMXn+ 8], $6F6E |
- | |
1281 | ;mov dword [FXSRn+ 8], $6F6E |
- | |
1282 | ;mov dword [FFXSR+ 10], $6F6E |
- | |
1283 | ;mov dword [TSCP+ 10], $6F6E |
- | |
1284 | ;mov dword [LM+ 10], $6F6E |
- | |
1285 | ;mov dword [DNo+ 10], $6F6E |
- | |
1286 | ;mov dword [DN+ 10], $6F6E |
- | |
1287 | ;mov dword [SYS+ 9], $6F6E |
- | |
1288 | ;mov dword [LAF+ 9], $6F6E |
- | |
1289 | - | ||
1290 | - | ||
1291 | - | ||
1292 | jmp Tez13 |
- | |
1293 | - | ||
1294 | gooodd: |
- | |
1295 | xor eax, eax |
- | |
1296 | mov eax, $80000001 ;// Setup extended function 8000_0001h |
- | |
1297 | cpuid |
- | |
1298 | - | ||
1299 | Tez1: |
- | |
1300 | test edx, MP_FLAG |
- | |
1301 | jnz Tez1e |
- | |
1302 | - | ||
1303 | mov dword [MP+8], $6F6E |
- | |
1304 | jmp Tez2 |
- | |
1305 | - | ||
1306 | Tez1e: |
- | |
1307 | mov dword [MP+ 8], $736579 |
- | |
1308 | - | ||
1309 | Tez2: |
- | |
1310 | test edx, NX_FLAG |
- | |
1311 | jnz Tez2e |
- | |
1312 | - | ||
1313 | mov dword [NX+ 8], $6F6E |
- | |
1314 | jmp Tez4 |
- | |
1315 | ;jmp Tez3 áûëî, íî èç-çà Ñèðèêñ ïðèõîäèòñÿ äåëàòü äåòåêò â ëðóãîì ìåñòå |
- | |
1316 | - | ||
1317 | Tez2e: |
- | |
1318 | mov dword [NX+ 8], $736579 |
- | |
1319 | - | ||
1320 | ;Tez3: |
- | |
1321 | ;test edx, MMXPi_FLAG |
- | |
1322 | ;jnz Tez3e |
- | |
1323 | - | ||
1324 | ;mov dword [MMXPi+ 8], $6F6E |
- | |
1325 | ;jmp Tez4 |
- | |
1326 | - | ||
1327 | - | ||
1328 | ;Tez3e: |
- | |
1329 | ;mov dword [MMXPi+ 8], $736579 |
- | |
1330 | - | ||
1331 | Tez4: |
- | |
1332 | test edx, MMXn_FLAG |
- | |
1333 | jnz Tez4e |
- | |
1334 | - | ||
1335 | mov dword [MMXn+ 8], $6F6E |
- | |
1336 | jmp Tez5 |
- | |
1337 | - | ||
1338 | Tez4e: |
- | |
1339 | mov dword [MMXn+ 8], $736579 |
- | |
1340 | - | ||
1341 | Tez5: |
- | |
1342 | test edx, FXSRn_FLAG |
- | |
1343 | jnz Tez5e |
- | |
1344 | - | ||
1345 | mov dword [FXSRn+ 8], $6F6E |
- | |
1346 | jmp Tez6 |
- | |
1347 | - | ||
1348 | Tez5e: |
- | |
1349 | mov dword [FXSRn+ 8], $736579 |
- | |
1350 | - | ||
1351 | Tez6: |
- | |
1352 | test edx, FFXSR_FLAG |
- | |
1353 | jnz Tez6e |
- | |
1354 | - | ||
1355 | mov dword [FFXSR+ 10], $6F6E |
- | |
1356 | jmp Tez7 |
- | |
1357 | - | ||
1358 | Tez6e: |
- | |
1359 | mov dword [FFXSR+ 10], $736579 |
- | |
1360 | - | ||
1361 | Tez7: |
- | |
1362 | test edx, TSCP_FLAG |
- | |
1363 | jnz Tez7e |
- | |
1364 | - | ||
1365 | mov dword [TSCP+ 10], $6F6E |
- | |
1366 | jmp Tez8 |
- | |
1367 | - | ||
1368 | Tez7e: |
- | |
1369 | mov dword [TSCP+ 10], $736579 |
- | |
1370 | - | ||
1371 | - | ||
1372 | Tez8: |
- | |
1373 | test edx, LM_FLAG |
- | |
1374 | jnz Tez8e |
- | |
1375 | - | ||
1376 | mov dword [LM+ 10], $6F6E |
- | |
1377 | jmp Tez9 |
- | |
1378 | - | ||
1379 | Tez8e: |
- | |
1380 | mov dword [LM+ 10], $736579 |
- | |
1381 | - | ||
1382 | Tez9: |
- | |
1383 | test edx, DNo_FLAG |
- | |
1384 | jnz Tez9e |
- | |
1385 | - | ||
1386 | mov dword [DNo+ 10], $6F6E |
- | |
1387 | jmp Tez10 |
- | |
1388 | - | ||
1389 | Tez9e: |
- | |
1390 | mov dword [DNo+ 10], $736579 |
- | |
1391 | - | ||
1392 | - | ||
1393 | Tez10: |
- | |
1394 | test edx, DN_FLAG |
- | |
1395 | jnz Tez10e |
- | |
1396 | - | ||
1397 | mov dword [DN+ 10], $6F6E |
- | |
1398 | jmp Tez11 |
- | |
1399 | - | ||
1400 | Tez10e: |
- | |
1401 | mov dword [DN+ 10], $736579 |
- | |
1402 | - | ||
1403 | ;Intel |
- | |
1404 | - | ||
1405 | Tez11: |
- | |
1406 | test edx, SYS_FLAG |
- | |
1407 | jnz Tez11e |
- | |
1408 | - | ||
1409 | mov dword [SYS+ 9], $6F6E |
- | |
1410 | jmp Tez12 |
- | |
1411 | - | ||
1412 | Tez11e: |
- | |
1413 | mov dword [SYS+ 9], $736579 |
- | |
1414 | - | ||
1415 | - | ||
1416 | Tez12: |
- | |
1417 | test ecx, LAHF_FLAG |
- | |
1418 | jnz Tez12e |
- | |
1419 | - | ||
1420 | mov dword [LAF+ 9], $6F6E |
- | |
1421 | jmp Tez13 |
- | |
1422 | - | ||
1423 | Tez12e: |
- | |
1424 | mov dword [LAF+ 9], $736579 |
- | |
1425 | - | ||
1426 | Tez13: |
- | |
1427 | - | ||
1428 | ret |
- | |
1429 | ;////////////////////////////////////////////// |
- | |
1430 | newrating: |
- | |
1431 | - | ||
1432 | cmp [FRS], 266 |
- | |
1433 | jz f266 |
- | |
1434 | cmp [FRS], 333 |
- | |
1435 | jz f333 |
- | |
1436 | cmp [FRS], 400 |
- | |
1437 | jz f400 |
- | |
1438 | - | ||
1439 | f266: |
- | |
1440 | - | ||
1441 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
1442 | ; |
- | |
1443 | ; Print the unpacked img to screen |
- | |
1444 | ; gif2img i333,img_area3 |
- | |
1445 | ; mov eax,7 ; sysfunc7: putimage |
- | |
1446 | ; mov ebx,img_area3+8 ; pointer to image |
- | |
1447 | ; mov ecx,33*65536+30 ; resolution (all gif's included are 64*81) |
- | |
1448 | ; mov edx,240*65536+90 ; plce to print image on screen (first number is |
- | |
1449 | ;pixels from left, second pixels from top) |
- | |
1450 | ; int 0x40 ; execute function |
- | |
1451 | - | ||
1452 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
1453 | - | ||
1454 | ;ôîðìóëû âû÷èñëåíèÿ XP-ðåéòèíãà Athlon-îâ (Tbred, Barton): |
- | |
1455 | ;FSB266/256kB: ñäåëàíî |
- | |
1456 | ;XP+ (Freq<2000MHz) = 1000 + (Freq-1000)*1,5 = Freq*1.5-500 |
- | |
1457 | ;XP+ (Freq>=2000MHz) = 900 + (Freq-1000)*1,5 = Freq*1.5-600 |
- | |
1458 | - | ||
1459 | - | ||
1460 | cmp [total], 2000 |
- | |
1461 | jl pal |
- | |
1462 | - | ||
1463 | ; Ðåéòèíã äëÿ Ïàëîìèíî 2000+ |
- | |
1464 | mov eax,[total] |
- | |
1465 | imul eax, 3 |
- | |
1466 | shr eax,1 |
- | |
1467 | sub eax, 600 |
- | |
1468 | mov [rating], eax |
- | |
1469 | - | ||
1470 | jmp vyxod |
- | |
1471 | - | ||
1472 | pal: |
- | |
1473 | - | ||
1474 | ; Ðåéòèíã äëÿ Ïàëîìèíî 2000- |
- | |
1475 | mov eax,[total] |
- | |
1476 | imul eax, 3 |
- | |
1477 | shr eax,1 |
- | |
1478 | sub eax, 500 |
- | |
1479 | mov [rating], eax |
- | |
1480 | - | ||
1481 | jmp vyxod |
- | |
1482 | - | ||
1483 | - | ||
1484 | f333: |
- | |
1485 | - | ||
1486 | - | ||
1487 | - | ||
1488 | - | ||
1489 | cmp [L2], 256 |
- | |
1490 | jl .Th ; Thorton |
- | |
1491 | - | ||
1492 | ;FSB333/512kB: ñäåëàíî |
- | |
1493 | ;XP+ (Freq<2100MHz) = Freq*1.2 + 300 |
- | |
1494 | ;XP+ (Freq>=2100MHz) = Freq*1.2 + 400 |
- | |
1495 | - | ||
1496 | cmp [total], 2100 |
- | |
1497 | jl .r2100 |
- | |
1498 | mov eax,[total] |
- | |
1499 | xor edx, edx |
- | |
1500 | imul eax, 600000 |
- | |
1501 | mov ebx, 500000 |
- | |
1502 | div ebx |
- | |
1503 | mov [rating], eax |
- | |
1504 | add [rating], 400 |
- | |
1505 | - | ||
1506 | ; Rating for Barton F<2000 MHz |
- | |
1507 | jmp vyxod |
- | |
1508 | - | ||
1509 | .r2100: |
- | |
1510 | mov eax,[total] |
- | |
1511 | xor edx, edx |
- | |
1512 | imul eax, 600000 |
- | |
1513 | mov ebx, 500000 |
- | |
1514 | div ebx |
- | |
1515 | mov [rating], eax |
- | |
1516 | add [rating], 300 |
- | |
1517 | - | ||
1518 | - | ||
1519 | ; Rating for Barton F>2000 MHz |
- | |
1520 | jmp vyxod |
- | |
1521 | - | ||
1522 | ;FSB333/256kB: ñäåëàíî |
- | |
1523 | ;XP+ = Freq*1.2 + 100 |
- | |
1524 | - | ||
1525 | .Th: |
- | |
1526 | - | ||
1527 | mov eax,[total] |
- | |
1528 | xor edx, edx |
- | |
1529 | imul eax, 600000 |
- | |
1530 | mov ebx, 500000 |
- | |
1531 | div ebx |
- | |
1532 | mov [rating], eax |
- | |
1533 | add [rating], 100 |
- | |
1534 | - | ||
1535 | - | ||
1536 | ;Rating for Thorton |
- | |
1537 | - | ||
1538 | - | ||
1539 | jmp vyxod |
- | |
1540 | - | ||
1541 | f400: |
- | |
1542 | - | ||
1543 | - | ||
1544 | ;FSB400/512kB: |
- | |
1545 | ;XP+ = Freq*1.5 - 100 |
- | |
1546 | - | ||
1547 | mov eax,[total] |
- | |
1548 | imul eax, 3 |
- | |
1549 | shr eax,1 |
- | |
1550 | sub eax, 100 |
- | |
1551 | mov [rating], eax |
- | |
1552 | - | ||
1553 | vyxod: |
- | |
1554 | - | ||
1555 | - | ||
1556 | ret |
- | |
1557 | - | ||
1558 | - | ||
1559 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
1560 | - | ||
1561 | multipl: |
- | |
1562 | ;--- âû÷èñëåíèå êîýôôèöèåíòà óìíîæåíèÿ - |
- | |
1563 | ; ïîðòèò ðåãèñòðû |
- | |
1564 | ; out : CL = êîýôô.óìíîæåíèÿ * 10, èëè 0 |
- | |
1565 | xor ecx, ecx |
- | |
1566 | - | ||
1567 | cmp dword[smallvendor], 'cAMD' ; Check for Advanced Micro Devices CPU |
- | |
1568 | jne noAMD |
- | |
1569 | cmp byte [f], 5 |
- | |
1570 | jne noAMDK6 |
- | |
1571 | mov eax, 68 ; AMD-K6 (p.30) |
- | |
1572 | mov ebx, 3 |
- | |
1573 | mov edx, 0x0C0000087 |
- | |
1574 | int 0x40 ; eax - low dword |
- | |
1575 | and eax, 111b |
- | |
1576 | mov cl, [athloncoef3 + eax] |
- | |
1577 | cmp eax, 6 |
- | |
1578 | jne @f |
- | |
1579 | cmp byte[m], 8 |
- | |
1580 | jae @f |
- | |
1581 | mov cl, 20 |
- | |
1582 | @@: ret |
- | |
1583 | - | ||
1584 | noAMDK6: |
- | |
1585 | cmp byte [f], 6 |
- | |
1586 | jne noAMDK7 |
- | |
1587 | mov eax, 68 ; Athlon/AthlonXP |
- | |
1588 | mov ebx, 3 |
- | |
1589 | mov edx, 0x0C0010015 |
- | |
1590 | int 0x40 |
- | |
1591 | mov ebx, eax |
- | |
1592 | shr ebx, 24 |
- | |
1593 | and ebx, 0x0F |
- | |
1594 | shr eax, 20 |
- | |
1595 | jc @f |
- | |
1596 | mov cl, [athloncoef + ebx] |
- | |
1597 | ret |
- | |
1598 | @@: mov cl, [athloncoef2 + ebx] |
- | |
1599 | ret |
- | |
1600 | - | ||
1601 | noAMD: |
- | |
1602 | cmp dword[smallvendor], 'ntel' ; Check for International Electronics CPU |
- | |
1603 | jne noIntel |
- | |
1604 | cmp byte[f], 0x0F |
- | |
1605 | jne noIntelP4 |
- | |
1606 | cmp byte [t], 6 |
- | |
1607 | jne @f |
- | |
1608 | mov eax, 68 ; Pentium M |
- | |
1609 | mov ebx, 3 |
- | |
1610 | mov edx, 0x2A |
- | |
1611 | int 0x40 |
- | |
1612 | shr eax, 22 |
- | |
1613 | and eax, 0x1F |
- | |
1614 | mov dl, 10 |
- | |
1615 | mul dl |
- | |
1616 | mov cl, al |
- | |
1617 | ret |
- | |
1618 | @@: cmp byte [m], 2 |
- | |
1619 | jae @f |
- | |
1620 | mov eax, 68 ; Pentium 4 / Xeon (model < 2) |
- | |
1621 | mov ebx, 3 |
- | |
1622 | mov edx, 0x2A |
- | |
1623 | int 0x40 |
- | |
1624 | shr eax, 8 |
- | |
1625 | and eax, 0x0F |
- | |
1626 | mov cl, [p4coef + eax] |
- | |
1627 | ret |
- | |
1628 | @@: mov eax, 68 ; Pentium 4 / Xeon (model >= 2) |
- | |
1629 | mov ebx, 3 |
- | |
1630 | mov edx, 0x2C |
- | |
1631 | int 0x40 |
- | |
1632 | - | ||
1633 | ; shr eax, 24 |
- | |
1634 | ; and eax, 0x1F |
- | |
1635 | shr eax, 27 |
- | |
1636 | and al, 0Fh |
- | |
1637 | add al, 8 |
- | |
1638 | - | ||
1639 | mov dl, 10 |
- | |
1640 | mul dl |
- |