汇编语言--指令
一,指令的执行过程是怎样的?
1,指令是有长度的,一条指令可以由多个字节构成
2,指令的执行过程分为三个阶段
cpu从cs:ip所指向的内存单元读取指令,存放到指令缓存器中
ip = ip + 所读指令的长度,从而指向下一条指令
执行指令缓存其中的内容,重复第一步
二,汇编指令jmp(jump的简写)
1,作用:转移指令之一,可以修改cs和ip这两个寄存器的值,决定了cpu从哪里读取指令
2,格式:
jmp 2000:0
jmp 寄存器 (相当于用寄存器中的值覆盖掉ip寄存器)
三,汇编指令call指令
1,作用:进行两步操作
将更改后的(上面步骤二)的IP或CS和IP压入栈中
转移
2,格式:
call
指令不能实现短转移,它的书写格式同jmp
指令
语法格式一:call 标号
汇编解释:(1) push IP (2) jmp near ptr 标号
语法格式二:call far ptr 标号
汇编解释:(1) push CS (2) push IP (3) jmp far ptr 标号
语法格式三:call 16位reg
汇编解释:(1) push IP (2) jmp 16位reg
语法格式四:call word ptr 内存单元地址
汇编解释:(1) push IP (2) jmp word ptr 内存单元地址
语法格式五:call dword ptr 内存单元地址
汇编解释:(1) push CS (2) push IP (3) jmp dword ptr 内存单元地址