▼ 常用汇编指令
指令 示例 含义 说明
MOV MOV EAX,ECX EAX = ECX 将 ECX 的值存入 EAX
ADD ADD EAX,ECX EAX += ECX 将 EAX 的值加上 ECX 的值
SUB SUB EAX,ECX EAX -= ECX 将 EAX 的值减去 ECX 的值
INC INC EAX EAX++ 将 EAX 的值加 1
DEC DEC EAX EAX-- 将 EAX 的值减 1
LEA LEA EAX,[ECX+4] EAX = ECX+4 将 ECX+4 的值存入 EAX
CMP CMP EAX,ECX if(EAX == ECX) 对两个值进行比较并根据结果设置
ZF=1 标志若 EAX 与 ECX 相同,则 ZF=1
else
ZF=0 标志若 EAX 与 ECX 不同,则 ZF=0
TEST TEST EAX,EAX if(EAX == 0) 将值与 0 进行比较并根据结果设置
ZF=1 标志若 EAX 为 0,则 ZF=1
else
ZF=0 标志若 EAX 不为 0,则 ZF=0
JE(JZ) JE 04001000 if(ZF==1) 若 ZF 为 1,则跳转到 04001000
GOTO
04001000
JNE(JNZ) JNE 04001000 if(ZF==0) 若 ZF 为 0,则跳转到 04001000
GOTO
04001000
JMP JMP 04001000 GOTO 04001000 无条件跳转到 04001000
CALL CALL lstrcmpW 调用 lstrcmpW
PUSH PUSH 00000001 将 00000001 入栈
POP POP EAX 出栈并将获取的值存入 EAX
文章评论