用汇编写判断语句。谁帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:43:17
就是要判断EAX这个寄存器存的指针指向的地址里的数是否等于一个4bytes的数假设是100.如果是则把100该成1000如果不等则继续向下执行。

知道的大大们帮帮忙。分保证多!

.386
.model flat,stdcall
option casemap:none

include windows.inc
include kernel32.inc
includelib kernel32.lib

.data
Num1 dd 100

.code
start:
mov eax,offset Num1
cmp DWORD ptr [eax],100
jnz Not100
mov DWORD ptr [eax],1000
Not100:
invoke ExitProcess,NULL
end start

编译参数:
/c /coff /nologo
链接参数:
/SUBSYSTEM:WINDOWS /nologo
编译器:
MASM6+

.386p
...
mov ebx,[eax]
cmp ebx,100
je xiugai
:continue
...

:xiugai
mov [eax],1000
jmp continue

我也遇到过同样的情况,你在Target1,点击右键,选择options for target"target1"点击开后,在output那一项里把Create HEX Fi那一项选中然后你编译就有了

MOV EBX, [EAX]
CMP EBX, 100
JZ CHANGE
JNZ CONTINUE
CHANGE:
MOV [EAX], 1000
CONTINUE:
......
......