转移简述
1,背景
一般情况下指令是顺序的逐条执行,而实际中常需要改变程序执行流程,例如:
mov ax,0
jmp short s
add ax,1
s:inc ax
2,转移指令:
- 可以控制CPU执行内存中某处代码的指令
- 可以修改IP,或者同时修改CS和IP指令
3,转移指令的分类
①按转移行为:
- 段内转移:只修改IP,如:jmp,ax
- 段间转移:同时修改CS和IP,如jmp 1000:0
②根据指令对IP修改范围不同
-
段内短转移:IP修改范围为-128~127(字节)
-
段内近转移:IP修改范围-32768~-32767(字)
③按转移指令
- 无条件转移指令(jmp等)
- 条件转移指令(jcxz等)
- 循环指令(loop)
- 过程
- 中断