我了解的部分指令与寄存器

来源:互联网 发布:focusky for mac 编辑:程序博客网 时间:2024/06/05 05:34

部分指令:

mov   传达指令,格式:mov   op1,op2  (REG/MEM,REG/MEM/IM)。

sub    减法指令  (不带借位),格式:sub    op1,op2    (op1-op2—>op1)。

add    加法指令(不带进位),格式:add   op1,op2   (op1+op2—>op1)。

jmp    无条件跳转指令。  

test    将两个操作数进行逻辑与运算,结果不放回。test   op1,op2 ——>(op1||op2)。

push   实现压入操作的指令。push  op  (对状态标志位无影响)。

pop    实现弹出操作的指令。pop   op (对状态标志位无影响)。

call   是计算机转移到调用的子程序。

ret    是子程序的返回指令,作用:堆栈中推出PC的高8位和低8位。

lea   可以将有效地址传送到指定的寄存器中,lea   op1,op2。

movs   可以不用写源操作数和目的操作数。

je    je指令是汇编里面的一个跳转指令,功能是在ZF等于0时进行跳转,也就是相等的时候跳转。

部分寄存器:

eax是累加器,它是很多加法乘法指令的缺省寄存器。

ebx是基地址寄存器,在内存寻址时存放基地址。

ecx是计数器,是重复(REP)前缀指令和LOOP指令的内定寄存器。

edx是被用来放整数除法产生的余数。

esi、edi分别叫做源、目标索引寄存器,因为在很多字符串操作指令中,ds:esi指向源串,而es:edi指向目标串。

ebp是基址指针,经常被用作高级语言函数调用的框架指针。

esp专门用作堆栈指针,被形象的称为栈顶指针,在32位平台上,esp每次减少4字节。

             

原创粉丝点击