Subversion Repositories Kolibri OS

Rev

Rev 318 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 318 Rev 532
Line 66... Line 66...
66
LAHF_FLAG equ 0001h  ; LAHF   0
66
LAHF_FLAG equ 0001h  ; LAHF   0
67
CMPL_FLAG equ 0002h    ; core multi-processing legacy mode 1
67
CMPL_FLAG equ 0002h    ; core multi-processing legacy mode 1
68
SVM_FLAG equ 0004h     ; secure virtual machine 2
68
SVM_FLAG equ 0004h     ; secure virtual machine 2
69
MOVCR8_FLAG equ 0010h    ;AltMovCr8  4
69
MOVCR8_FLAG equ 0010h    ;AltMovCr8  4
Line -... Line 70...
-
 
70
 
-
 
71
;//////////////////////////////////////////////
-
 
72
decode_sse3:   ; is SS3 supported
-
 
73
        xor     eax, eax
-
 
74
        inc     eax
-
 
75
        cpuid
-
 
76
        test    ecx, 1
-
 
77
        setnz   [sse3sup]
-
 
78
        mov     eax, sse3+6
-
 
79
 
-
 
80
write_yes_no:
-
 
81
        mov     dword [eax], 'no'
-
 
82
        jz      @f
-
 
83
        mov     dword [eax], 'yes'
-
 
84
@@:
-
 
85
        ret
-
 
86
 
-
 
87
show_next_bit:
-
 
88
        shr     edx, 1
-
 
89
write_yes_no_cf:
-
 
90
        mov     dword [eax], 'no'
-
 
91
        jnc     @f
-
 
92
        mov     dword [eax], 'yes'
-
 
93
@@:
Line 70... Line 94...
70
 
94
        ret
Line 71... Line 95...
71
 
95
 
Line 72... Line 96...
72
;decoding standard features
96
;decoding standard features
73
 
97
 
74
decode_standard_features:
98
decode_standard_features:
Line 75... Line -...
75
 
-
 
76
 xor eax,eax
-
 
77
 inc eax
-
 
78
 cpuid
-
 
79
 
-
 
80
Test0:
-
 
81
test edx, FPU_FLAG
-
 
82
jnz Test0e
-
 
83
 
-
 
84
mov dword  [FPU+6], $6F6E
-
 
85
jmp Test1
-
 
86
 
-
 
87
Test0e:
-
 
88
mov  dword [FPU+6], $736579
-
 
89
 
-
 
90
;;;;;;
-
 
91
Test1:
-
 
92
test edx, VME_FLAG
-
 
93
jnz Test1e
-
 
94
 
-
 
95
mov   dword [VME+ 7], $6F6E
-
 
96
jmp Test2
-
 
97
 
-
 
98
Test1e:
-
 
99
mov   dword [VME+ 7], $736579
-
 
100
 
-
 
101
;;;;;;
99
 
102
Test2:
-
 
103
test edx, DE_FLAG
-
 
104
jnz Test2e
-
 
105
 
-
 
106
mov   dword [DE+ 7], $6F6E
-
 
107
jmp Test3
-
 
108
 
-
 
109
Test2e:
-
 
110
mov   dword [DE+ 7], $736579
-
 
111
;;;;;;
-
 
112
 
-
 
113
Test3:
-
 
114
test edx, PSE_FLAG
-
 
115
jnz Test3e
-
 
116
 
-
 
117
mov   dword [PSE+ 8], $6F6E
-
 
118
jmp Test4
-
 
119
 
-
 
120
Test3e:
-
 
121
mov   dword [PSE+ 8], $736579
-
 
122
 
-
 
123
;;;;
-
 
124
Test4:
-
 
125
test edx, TSC_FLAG
-
 
126
jnz Test4e
-
 
127
 
-
 
128
mov   dword [TSC+ 6], $6F6E
-
 
129
jmp Test5
-
 
130
 
-
 
131
Test4e:
-
 
132
mov   dword [TSC+ 6], $736579
-
 
133
 
-
 
134
;;;;
-
 
135
Test5:
-
 
136
test edx, MSR_FLAG
-
 
137
jnz Test5e
-
 
138
 
-
 
139
mov   dword [MSR+ 7], $6F6E
-
 
140
jmp Test6
-
 
141
 
-
 
142
Test5e:
-
 
143
mov   dword [MSR+ 7], $736579
-
 
144
 
-
 
145
;;;;
-
 
146
Test6:
-
 
147
test edx, PAE_FLAG
-
 
148
jnz Test6e
-
 
149
 
-
 
150
mov   dword [PAE+ 7], $6F6E
-
 
151
jmp Test7
-
 
152
 
-
 
153
Test6e:
-
 
154
mov   dword [PAE+ 7], $736579
-
 
155
 
-
 
156
;;;;
-
 
157
Test7:
-
 
158
test edx, MCE_FLAG
-
 
159
jnz Test7e
-
 
160
 
-
 
161
mov   dword [MCE+ 8], $6F6E
-
 
162
jmp Test8
-
 
163
 
-
 
164
Test7e:
-
 
165
mov   dword [MCE+ 8], $736579
-
 
166
 
-
 
167
;;;;
-
 
168
Test8:
-
 
169
test edx, CX8_FLAG
-
 
170
jnz Test8e
-
 
171
 
-
 
172
mov   dword [CX8+ 6], $6F6E
-
 
173
jmp Test9
-
 
174
 
-
 
175
Test8e:
-
 
176
mov   dword [CX8+ 6], $736579
-
 
177
;;;;
-
 
178
 
100
 xor eax,eax
179
Test9:
-
 
180
test edx, APIC_FLAG
-
 
181
jnz Test9e
-
 
182
 
-
 
183
mov   dword [APIC+ 7], $6F6E
-
 
184
jmp Test11
-
 
185
 
-
 
186
Test9e:
-
 
187
mov   dword [APIC+ 7], $736579
-
 
188
;;;;;
-
 
189
 
-
 
190
Test11:
-
 
Line 191... Line 101...
191
test edx, SEP_FLAG
101
 inc eax
192
jnz Test11e
102
 cpuid
193
 
-
 
Line 194... Line -...
194
mov   dword [SEP+ 8], $6F6E
-
 
195
jmp Test12
103
 
196
 
104
        mov     eax, FPU+6
Line 197... Line 105...
197
Test11e:
105
        call    show_next_bit
198
mov   dword [SEP+ 8], $736579
106
 
Line 199... Line 107...
199
;;;;
107
        mov     eax, VME+7
200
 
108
        call    show_next_bit
201
Test12:
-
 
Line 202... Line -...
202
test edx, MTRR_FLAG
-
 
203
jnz Test12e
109
 
204
 
110
        mov     eax, DE+7
Line 205... Line 111...
205
mov   dword [MTRR+ 6], $6F6E
111
        call    show_next_bit
206
jmp Test13
112
 
Line 207... Line 113...
207
 
113
        mov     eax, PSE+8
208
Test12e:
114
        call    show_next_bit
209
mov   dword [MTRR+ 6], $736579
-
 
Line 210... Line -...
210
;;;;
-
 
211
 
115
 
212
Test13:
116
        mov     eax, TSC+6
Line 213... Line 117...
213
test edx, PGE_FLAG
117
        call    show_next_bit
214
jnz Test13e
118
 
Line 215... Line -...
215
 
-
 
216
mov   dword [PGE+ 7], $6F6E
119
        mov     eax, MSR+7
217
jmp Test14
-
 
Line 218... Line -...
218
 
-
 
219
Test13e:
120
        call    show_next_bit
220
mov   dword [PGE+ 7], $736579
121
 
Line 221... Line 122...
221
;;;;;
122
        mov     eax, PAE+7
222
 
123
        call    show_next_bit
Line 223... Line 124...
223
Test14:
124
 
224
test edx, MCA_FLAG
125
        mov     eax, MCE+8
225
jnz Test14e
-
 
Line 226... Line -...
226
 
-
 
227
mov   dword [MCA+ 7], $6F6E
126
        call    show_next_bit
228
jmp Test15
127
 
Line 229... Line 128...
229
 
128
        mov     eax, CX8+6
230
Test14e:
129
        call    show_next_bit
Line 231... Line 130...
231
mov   dword [MCA+ 7], $736579
130
 
232
;;;;
131
        mov     eax, APIC+7
233
 
-
 
Line 234... Line -...
234
Test15:
-
 
235
test edx, CMOV_FLAG
132
        call    show_next_bit
236
jnz Test15e
133
 
Line 237... Line 134...
237
 
134
        shr     edx, 1          ; skip reserved bit
238
mov   dword [CMOV+ 8], $6F6E
135
 
Line 239... Line 136...
239
jmp Test16
136
        mov     eax, SEP+8
240
 
137
        call    show_next_bit
241
Test15e:
-
 
Line 242... Line -...
242
mov   dword [CMOV+ 8], $736579
-
 
243
;;;;
138
 
244
 
-
 
Line 245... Line 139...
245
Test16:
139
        mov     eax, MTRR+6
246
test edx, PAT_FLAG
140
        call    show_next_bit
Line 247... Line 141...
247
jnz Test16e
141
 
248
 
142
        mov     eax, PGE+7
249
mov   dword [PAT+ 6], $6F6E
-
 
Line 250... Line 143...
250
jmp Test17
143
        call    show_next_bit
251
 
144
 
252
Test16e:
145
        mov     eax, MCA+7
-
 
146
        call    show_next_bit
Line 253... Line 147...
253
mov   dword [PAT+ 6], $736579
147
 
254
;;;;
148
        mov     eax, CMOV+8
Line 255... Line 149...
255
 
149
        call    show_next_bit
256
Test17:
150
 
257
test edx, PSE36_FLAG
-
 
Line 258... Line -...
258
jnz Test17e
-
 
259
 
151
        mov     eax, PAT+6
260
mov   dword [PSE36+ 7], $6F6E
152
        call    show_next_bit
Line 261... Line 153...
261
jmp Test18
153
 
262
 
154
        mov     eax, PSE36+7
Line 263... Line -...
263
Test17e:
-
 
264
mov   dword [PSE36+ 7], $736579
-
 
265
;;;;
-
 
266
 
-
 
267
Test18:
-
 
268
test edx, PSNUM_FLAG
-
 
269
jnz Test18e
-
 
270
 
-
 
271
mov   dword [PSNUM+ 7], $6F6E
-
 
272
jmp Test19
-
 
273
 
-
 
274
Test18e:
-
 
275
mov   dword [PSNUM+ 7], $736579
-
 
276
;;;;
-
 
277
 
-
 
278
Test19:
-
 
279
test edx, CLFLUSH_FLAG
-
 
280
jnz Test19e
-
 
281
 
-
 
282
mov   dword [CLFLUSHn + 8], $6F6E
-
 
283
jmp Test21
-
 
284
 
-
 
285
Test19e:
-
 
286
mov   dword [CLFLUSHn + 8], $736579
-
 
287
;;;;
-
 
288
 
-
 
289
Test21:
-
 
290
test edx, DTS_FLAG
-
 
291
jnz Test21e
-
 
292
 
-
 
293
mov   dword [DTS+ 7], $6F6E
-
 
294
jmp Test22
-
 
295
 
-
 
296
Test21e:
-
 
297
mov   dword [DTS+ 7], $736579
-
 
298
;;;;
-
 
299
 
-
 
300
Test22:
-
 
301
test edx, ACPI_FLAG
-
 
302
jnz Test22e
-
 
303
 
-
 
304
mov   dword [ACPI+ 7], $6F6E
-
 
305
jmp Test23
-
 
306
 
155
        call    show_next_bit
307
Test22e:
-
 
308
mov   dword [ACPI+ 7], $736579
-
 
309
;;;;;
-
 
310
 
-
 
311
Test23:
-
 
312
test edx, MMX_FLAG
-
 
313
jnz Test23e
-
 
314
 
-
 
315
mov   dword [MMX+ 8], $6F6E
-
 
316
mov   dword [MMXs+ 7], $6F6E
-
 
317
jmp Test24
-
 
318
 
-
 
319
Test23e:
-
 
320
mov   dword [MMX+ 8], $736579
-
 
321
mov   dword [MMXs+ 7], $736579
-
 
322
;;;;;
-
 
323
 
-
 
324
Test24:
-
 
325
test edx, FXSR_FLAG
-
 
326
jnz Test24e
-
 
327
 
-
 
328
mov   dword [FXSR+ 6], $6F6E
-
 
329
jmp Test25
156
 
330
 
-
 
331
Test24e:
-
 
332
mov   dword [FXSR+ 6], $736579
-
 
333
;;;;;
-
 
334
 
-
 
335
Test25:
-
 
336
test edx, SSE_FLAG
-
 
337
jnz Test25e
-
 
338
 
157
        mov     eax, PSNUM+7
339
mov   dword [SSE+ 7], $6F6E
-
 
340
jmp Test26
-
 
341
 
158
        call    show_next_bit
342
Test25e:
-
 
343
mov   dword [SSE+ 7], $736579
-
 
344
 
-
 
345
;;;;
-
 
346
Test26:
-
 
347
test edx, SSE2_FLAG
-
 
348
jnz Test26e
-
 
349
 
-
 
350
mov   dword [SSE2+ 7], $6F6E
-
 
351
jmp Test27
-
 
352
 
-
 
353
Test26e:
-
 
354
mov   dword [SSE2+ 7], $736579
-
 
355
 
-
 
356
;;;;
-
 
357
 
-
 
358
Test27:
-
 
359
test edx, SS_FLAG
-
 
360
jnz Test27e
-
 
361
 
-
 
362
mov   dword [SSn+ 8], $6F6E
-
 
363
jmp Test29;28
-
 
364
 
-
 
365
Test27e:
-
 
366
mov   dword [SSn+ 8], $736579
-
 
367
 
-
 
368
;;;;
-
 
369
 
-
 
Line 370... Line -...
370
;Test28:
-
 
371
;test edx, HTT_FLAG
-
 
372
;jnz Test28e
159
 
373
;
160
        mov     eax, CLFLUSHn+8
Line 374... Line 161...
374
;mov   dword [HTT+ 8], $6F6E
161
        call    show_next_bit
375
;jmp Test29
162
 
Line 376... Line -...
376
;
-
 
377
;Test28e:
163
        shr     edx, 1          ; skip reserved bit
378
;mov   dword [HTT+ 8], $736579
-
 
379
 
164
 
Line 380... Line 165...
380
;;;;
165
        mov     eax, DTS+7
381
 
-
 
382
Test29:
-
 
383
test edx, TM_FLAG
-
 
384
jnz Test29e
-
 
385
 
-
 
386
mov   dword [TM+ 7], $6F6E
-
 
387
jmp Test30
-
 
388
 
-
 
389
Test29e:
-
 
390
mov   dword [TM+ 7], $736579
-
 
391
 
-
 
392
;;;;
-
 
393
 
-
 
394
Test30:
-
 
395
test edx, IA64_FLAG
-
 
396
jnz Test30e
-
 
397
 
-
 
398
mov   dword [IA64+ 7], $6F6E
-
 
Line 399... Line -...
399
jmp Test31
-
 
400
 
166
        call    show_next_bit
401
Test30e:
167
 
-
 
168
        mov     eax, ACPI+7
402
mov   dword [IA64+ 7], $736579
169
        call    show_next_bit
403
 
170
 
404
;;;;
171
        mov     eax, MMX+8
405
Test31:
-
 
406
test edx, PBE_FLAG
-
 
407
jnz Test31e
-
 
408
 
-
 
409
mov   dword [PBE+ 8], $6F6E
-
 
410
jmp Standart_out
-
 
411
 
-
 
412
Test31e:
-
 
413
mov   dword [PBE+ 8], $736579
-
 
Line -... Line 172...
-
 
172
        call    show_next_bit
-
 
173
        mov     eax, [eax]
-
 
174
        mov     [MMXs+7], eax
Line 414... Line 175...
414
 
175
 
415
Standart_out:
176
        mov     eax, FXSR+6
416
 
-
 
417
ret
-
 
418
;//////////////////////////////////////////////
177
        call    show_next_bit
419
decode_sse3:   ; is SS3 supported
-
 
420
      xor eax,eax
-
 
421
      inc eax
-
 
422
      cpuid
-
 
Line 423... Line -...
423
  test	ecx, $1 ; Test bit 1
-
 
424
  jnz	.EX; SSE3 technology is  supported
178
 
425
  jz .EXN
179
        mov     eax, SSE+7
426
 
-
 
427
.EX:
-
 
428
   mov dword  [sse3+ 6],  $736579
180
        call    show_next_bit
429
   mov [sse3sup], 1
-
 
Line 430... Line -...
430
   jmp exitter
-
 
431
.EXN:
181
 
432
    mov dword [sse3+ 6], $6F6E
-
 
433
    mov [sse3sup],0
-
 
434
 
182
        mov     eax, SSE2+7
435
exitter:
-
 
436
 
-
 
437
ret
183
        call    show_next_bit
438
;//////////////////////////////////////////////
-
 
439
decode_extended_features:
-
 
440
      xor eax,eax
-
 
441
      inc eax
-
 
Line 442... Line -...
442
      cpuid
-
 
443
Tes1:
184
 
444
test ecx, SSE3_FLAG
185
        mov     eax, SSn+8
445
jnz Tes1e
-
 
446
 
-
 
447
mov   dword [SS3+ 8], $6F6E
186
        call    show_next_bit
448
jmp Tes2
-
 
Line 449... Line -...
449
 
-
 
450
Tes1e:
187
 
451
mov   dword [SS3+ 8], $736579
-
 
452
 
-
 
453
 
-
 
454
Tes2:
188
        shr     edx, 1
455
test ecx, MON_FLAG
-
 
456
jnz Tes2e
-
 
457
 
189
;       mov     eax, HTT+8
458
mov   dword [MON+ 8], $6F6E
-
 
459
jmp Tes3
-
 
460
 
-
 
461
Tes2e:
-
 
462
mov   dword [MON+ 8], $736579
-
 
Line 463... Line 190...
463
 
190
;       test    edx, HTT_FLAG
464
 
191
;       call    write_yes_no
465
Tes3:
192
 
Line 466... Line -...
466
test ecx, DS_CPL_FLAG
-
 
467
jnz Tes3e
-
 
468
 
-
 
469
mov   dword [DS_CPL+ 8], $6F6E
-
 
470
jmp Tes4
193
        mov     eax, TM+7
471
 
-
 
472
Tes3e:
-
 
473
mov   dword [DS_CPL+ 8], $736579
-
 
474
 
194
        call    show_next_bit
475
Tes4:
-
 
476
test ecx, EST_FLAG
-
 
477
jnz Tes4e
-
 
478
 
-
 
479
mov   dword [EST+ 8], $6F6E
-
 
480
jmp Tes5
-
 
481
 
195
 
Line 482... Line 196...
482
Tes4e:
196
        mov     eax, IA64+7
483
mov   dword [EST+ 8], $736579
197
        call    show_next_bit
484
 
198
 
Line 485... Line -...
485
 
-
 
486
Tes5:
-
 
487
test ecx, TM2_FLAG
-
 
488
jnz Tes5e
-
 
489
 
199
        mov     eax, PBE+8
490
mov   dword [TM2+ 8], $6F6E
-
 
491
jmp Tes6
-
 
492
 
200
        call    show_next_bit
493
Tes5e:
-
 
494
mov   dword [TM2+ 8], $736579
-
 
495
 
201
 
496
 
-
 
Line 497... Line -...
497
Tes6:
-
 
498
test ecx, CNXT_ID_FLAG
202
        ret
499
jnz Tes6e
-
 
500
 
-
 
501
mov   dword [CNXT_ID+ 12], $6F6E
203
 
502
jmp Tes7
-
 
503
 
-
 
504
Tes6e:
204
;//////////////////////////////////////////////
505
mov   dword [CNXT_ID+ 12], $736579
-
 
506
 
-
 
507
 
-
 
508
Tes7:
-
 
509
test ecx, CX16_FLAG
-
 
510
jnz Tes7e
205
decode_extended_features:
511
 
-
 
512
mov   dword [CX16+ 12], $6F6E
-
 
513
jmp Tes8
206
; is called immediately after decode_standard_features
Line 514... Line 207...
514
 
207
;        xor     eax, eax
515
Tes7e:
208
;        inc     eax
516
mov   dword [CX16+ 12], $736579
-
 
517
 
209
;        cpuid
518
 
210
 
-
 
211
        mov     eax, SS3+8
-
 
212
        test    ecx, SSE3_FLAG
-
 
213
        call    write_yes_no
Line 519... Line -...
519
Tes8:
-
 
520
test ecx, ETPRD_FLAG
-
 
521
jnz Tes8e
-
 
522
 
-
 
523
mov   dword [ETPRD+ 12], $6F6E
-
 
524
jmp Tes9
-
 
525
 
-
 
526
Tes8e:
-
 
527
mov   dword [ETPRD+ 12], $736579
-
 
528
 
-
 
529
Tes9:
-
 
530
test ecx, VMX_FLAG
-
 
531
jnz Tes9e
214
 
532
 
215
        mov     eax, MON+8
Line 533... Line 216...
533
mov   dword [VMX+ 8], $6F6E
216
        test    ecx, MON_FLAG
534
jmp Tes10
217
        call    write_yes_no
535
 
-
 
536
Tes9e:
-
 
537
mov   dword [VMX+ 8], $736579
218
 
538
 
-
 
Line 539... Line -...
539
Tes10:
-
 
540
test ecx, SSSE3_FLAG
219
        mov     eax, DS_CPL+8
541
jnz Tes10e
-
 
542
 
-
 
543
mov   dword [SSSE3+ 12], $6F6E
220
        test    ecx, DS_CPL_FLAG
544
jmp Tes11
221
        call    write_yes_no
Line 545... Line -...
545
 
-
 
546
Tes10e:
-
 
547
mov   dword [SSSE3+ 12], $736579
222
 
548
 
-
 
549
Tes11:
-
 
550
test ecx, DCA_FLAG
223
        mov     eax, EST+8
551
jnz Tes11e
-
 
552
 
-
 
553
mov   dword [DCA+ 8], $6F6E
224
        test    ecx, EST_FLAG
554
jmp Tes12
-
 
555
 
-
 
556
Tes11e:
225
        call    write_yes_no
557
mov   dword [DCA+ 8], $736579
-
 
558
 
-
 
Line 559... Line -...
559
Tes12:
-
 
560
 
226
 
561
 
-
 
562
ret
-
 
563
 
227
        mov     eax, TM2+8
564
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 
565
decode_extended:
-
 
566
    xor   eax, eax
228
        test    ecx, TM2_FLAG
567
    mov   eax,$80000000
-
 
Line 568... Line -...
568
    cpuid
-
 
569
 
229
        call    write_yes_no
570
test eax, 80000000h
-
 
571
jnz gooodd
-
 
572
 
230
 
573
jmp baaad
-
 
574
 
-
 
575
baaad:
231
        mov     eax, CNXT_ID+12
576
 
-
 
577
 
-
 
578
jmp Tez13
-
 
579
 
-
 
Line 580... Line 232...
580
gooodd:
232
        test    ecx, CNXT_ID_FLAG
581
  xor eax, eax
233
        call    write_yes_no
582
  mov	eax, $80000001 ;// Setup extended function 8000_0001h
-
 
583
  cpuid
-
 
584
 
-
 
585
Tez1:
-
 
586
test edx, MP_FLAG
-
 
587
jnz Tez1e
-
 
588
 
234
 
Line 589... Line 235...
589
mov   dword [MP+8], $6F6E
235
        mov     eax, CX16+12
590
jmp Tez2
236
        test    ecx, CX16_FLAG
591
 
237
        call    write_yes_no
Line 592... Line 238...
592
Tez1e:
238
 
593
mov   dword [MP+ 8], $736579
-
 
594
 
-
 
595
Tez2:
-
 
596
test edx, NX_FLAG
-
 
597
jnz Tez2e
-
 
598
 
-
 
599
mov   dword [NX+ 8], $6F6E
-
 
600
jmp Tez4
239
        mov     eax, ETPRD+12
601
;jmp Tez3 we do detection in another place, because of Cyrix specific MMX+ detection 
-
 
602
 
-
 
603
Tez2e:
240
        test    ecx, ETPRD_FLAG
604
mov   dword [NX+ 8], $736579
-
 
Line 605... Line -...
605
 
-
 
606
;Tez3:
241
        call    write_yes_no
607
;test edx, MMXPi_FLAG
-
 
608
;jnz Tez3e
-
 
609
 
242
 
610
;mov   dword [MMXPi+ 8], $6F6E
-
 
611
;jmp Tez4
-
 
612
 
243
        mov     eax, VMX+8
613
 
-
 
614
;Tez3e:
-
 
615
;mov   dword [MMXPi+ 8], $736579
-
 
616
 
-
 
Line 617... Line -...
617
Tez4:
-
 
618
test edx, MMXn_FLAG
244
        test    ecx, VMX_FLAG
619
jnz Tez4e
245
        call    write_yes_no
620
 
-
 
621
mov   dword [MMXn+ 8], $6F6E
-
 
622
jmp Tez5
246
 
623
 
-
 
624
Tez4e:
-
 
625
mov   dword [MMXn+ 8], $736579
-
 
626
 
-
 
Line 627... Line 247...
627
Tez5:
247
        mov     eax, SSSE3+12
628
test edx, FXSRn_FLAG
-
 
629
jnz Tez5e
248
        test    ecx, SSSE3_FLAG
630
 
249
        call    write_yes_no
631
mov   dword [FXSRn+ 8], $6F6E
-
 
632
jmp Tez6
-
 
633
 
250
 
634
Tez5e:
-
 
635
mov   dword [FXSRn+ 8], $736579
-
 
636
 
-
 
637
Tez6:
-
 
638
test edx, FFXSR_FLAG
-
 
Line 639... Line 251...
639
jnz Tez6e
251
        mov     eax, DCA+8
640
 
252
        test    ecx, DCA_FLAG
641
mov   dword [FFXSR+ 12], $6F6E
253
        call    write_yes_no
Line 642... Line -...
642
jmp Tez7
-
 
643
 
-
 
644
Tez6e:
-
 
645
mov   dword [FFXSR+ 12], $736579
-
 
646
 
254
@@:
647
Tez7:
-
 
648
test edx, TSCP_FLAG
-
 
649
jnz Tez7e
255
        ret
650
 
-
 
651
mov   dword [TSCP+ 12], $6F6E
-
 
652
jmp Tez8
256
 
653
 
-
 
Line 654... Line -...
654
Tez7e:
-
 
655
mov   dword [TSCP+ 12], $736579
257
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
656
 
-
 
657
 
-
 
658
Tez8:
258
decode_extended:
659
test edx, LM_FLAG
-
 
660
jnz Tez8e
-
 
661
 
259
        mov     eax, $80000000
662
mov   dword [LM+ 12], $6F6E
-
 
Line 663... Line -...
663
jmp Tez9
-
 
664
 
260
        cpuid
665
Tez8e:
-
 
666
mov   dword [LM+ 12], $736579
-
 
667
 
261
        mov     [extc], eax     ; max number of calls
668
Tez9:
-
 
669
test edx, DNo_FLAG
-
 
670
jnz Tez9e
262
        test    eax, eax
671
 
-
 
672
mov   dword [DNo+ 12], $6F6E
-
 
673
jmp Tez10
-
 
674
 
-
 
675
Tez9e:
-
 
676
mov   dword [DNo+ 12], $736579
-
 
Line 677... Line 263...
677
 
263
        jns     @b
678
 
264