V8086-tilan tarkistus

Entropia 21.10.03 22:02

Tarkistaa onko prosessori virtuaalisessa 8086-tilassa

 Tekstiversio  Arvo: 0 (0 ääntä)  Äänestä: +  -
All you need: http://www.masm32.com
Win32 binääri: http://koti.mbnet.fi/entropia/assembly/v8086.exe


.586
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
Otsikko         db "V8086 tila",0
eiv86           db "Prosessori ei ole V8086-tilassa",0
onv86           db "Prosessori on V8086-tilassa",0

.code
start:

    smsw    ax                  ; tallennetaan prosessorin statuksen
    and     eax,    1           ; ax rekisteriin ja vertaa sen toista bittiä
    jnz     loytyy              ; jos jotain muuta kuin nolla niin hypätään

ei:
    invoke MessageBox, NULL,addr eiv86, addr Otsikko, MB_OK
    jmp    loppu

loytyy:
    invoke MessageBox, NULL,addr onv86, addr Otsikko, MB_OK

loppu:
invoke ExitProcess,NULL
   
end start