RaMMs+eiN
Ну я наверное заглянул в отладчик, как ты думаешь-то?
По логике это open и clode, но человек видать не знает, что в ассемблере строковые данные должны заканчиваться нулём и объявляться так:
open db "open",0
close db "close",0
а не так:
open db "open"
close db "close"
Ну я наверное заглянул в отладчик, как ты думаешь-то?
004010C5 |. B9 04000000 MOV ECX,4
004010CA |. BE E6204000 MOV ESI,4.004020E6 ; ASCII "openclose"
004010CF |. BF 02324000 MOV EDI,4.00403202
004010D4 |. F3:A6 REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS:>
004010D6 |. 75 19 JNZ SHORT 4.004010F1
004010D8 |. 6A 00 PUSH 0
004010DA |. 68 FF000000 PUSH 0FF
004010DF |. 68 03314000 PUSH 4.00403103
004010E4 |. 68 24204000 PUSH 4.00402024 ; ASCII "set cdaudio door open"
004010E9 |. FF15 21324000 CALL DWORD PTR DS:[403221]
004010EF |. EB 2A JMP SHORT 4.0040111B
004010F1 |> B9 05000000 MOV ECX,5
004010F6 |. BE EA204000 MOV ESI,4.004020EA ; ASCII "close"
004010FB |. BF 02324000 MOV EDI,4.00403202
00401100 |. F3:A6 REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS:>
00401102 |. 75 17 JNZ SHORT 4.0040111B
00401104 |. 6A 00 PUSH 0
00401106 |. 68 FF000000 PUSH 0FF
0040110B |. 68 03314000 PUSH 4.00403103
00401110 |. 68 3A204000 PUSH 4.0040203A ; ASCII "set cdaudio door closed"
00401115 |. FF15 21324000 CALL DWORD PTR DS:[403221]
По логике это open и clode, но человек видать не знает, что в ассемблере строковые данные должны заканчиваться нулём и объявляться так:
open db "open",0
close db "close",0
а не так:
open db "open"
close db "close"