Subversion Repositories Kolibri OS

Rev

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
-