1. 首页>
  2. 技术文章>
  3. 常用汇编指令

常用汇编指令

2/18/22 9:18:38 PM 浏览 1374 评论 0

汇编

常用汇编指令:
MOV,例子:MOV EAX,ECX 将ECX的值存入EAX,等同于EAX=ECX

ADD ,  例子:ADD EAX,ECX 将EAX的值加上ECX的值,等同于EAX+=ECX

SUB , 例子:SUB EAX,ECX 将EAX的值减去ECX的值,等同于EAX-=ECX

INC , 例子:INC EAX,将EAX的值+1,等于EAX=EAX+1

DEC , 例子:DEC EAX,将EAX的值-1,等于EAX=EAX-1

LEA , 例子:LEA EAX,[ECX+4] ,将ECX的值+4存入EAX,等于 EAX=ECX+4

CMP , 例子:CMP EAX,ECX ,进行比较并根据结果设置标志,若两者相同,则ZF=1;否则为0

TEST , 例子:TEST EAX,EAX,将值与0进行比较根据结果设置标志,若为0,则ZF=1;否则为0。

大多数情况下,TEST指令都会跟着两个相同的寄存器名称,可以简单的理解为,若寄存器的值为0,则将ZF置为1

JE(JZ) ,例子 JE 04001111 ,若 ZF=1,则跳转到04001111

JNE(JNZ) , 例子 JNE 04001111,若ZF=0,则跳转到04001111

结合TEST指令,就是若EAX=1,则跳转,否则不跳转

JMP , 例子 JMP 04001111 ,无条件跳转到04001111

CALL ,例子 CALL FUNCTION,调用FUNCTION

PUSH ,例子 PUSH 04001111, 将04001111 入栈

POP ,例子 POP EAX ,出栈并将获取的值存入EAX

网友讨论