| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Win32 MMX-testiEntropia 16.10.03 09:31 Testaa onko prosessorissa MMX-käskykantaa
Lopullisesta ohjelmasta tulee noin 2560 tavun pituinen. Kääntyy masmilla. http://www.masm32.com. Valmis ohjelma löytyy osoitteesta http://koti.mbnet.fi/entropia/assembly/mmxtest.exe. Edit: optimoitu ;) .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 ; määritellään tekstit otsikko db "MMX-testi",0 eimmx db "Prosessorissa ei ole MMX-käskykantaa",0 onmmx db "Prosessorissa on MMX-käskykanta",0 .code start: mov eax, 1 ; asetetaan eax-rekisteriin arvo yksi cpuid ; jolloin cpuid palauttaa eax-rekisteriin test edx, 00800000h ; tietoa cpu:n ominaisuuksista. verrataan jnz loytyy ; tulosta ja suoritetaan hyppy jos ei ole nolla eiloydy: invoke MessageBox, NULL, addr eimmx, addr otsikko, MB_OK ; avataan viestiruutu jossa kerrotaan ettei mmx-tukea ole jmp loppu loytyy: invoke MessageBox, NULL, addr onmmx, addr otsikko, MB_OK ; viestiruutu jossa kerrotaan että mmx-tuki löytyy loppu: invoke ExitProcess,NULL ; lopetetaan ohjelma end start thefox 13:14 18.10.03 Eipä siinä, noinhan se tapahtuu. Voisit tietysti myös tsekata, tuetaanko CPUID:tä ylipäätään (EFLAGS), ja tuossa "loytyy" labelin perässä on turha "jmp loppu". |
![]() Haku
|