转移指令:
可以修改IP 或 同时修改CS和IP的指令。
概括讲,就是可以控制CPU执行内存中某处代码的指令。
8086CPU转移行为:
- 只修改IP,成为段内转移,比如 jmp ax
根据转移指令对IP的修改范围不同,段内转移分为:
短转移,IP修改范围为-128~127
近转移,IP修改范围为-32768~32767
- 同时修改CS和IP,成为段间转移,比如jmp 1000:0
8086CPU转移指令分为以下几类:
- 无条件转移指令(jmp)
- 条件转移指令
- 循环指令(loop)
- 过程
- 中断
1.1 操作符 offset
offset功能为取得标号的偏移地址。
assume cs:codesg
codesg segment
start:mov ax,offset start //相当于 mov ax,0 (start 表家军第一条指令地址,偏移为0)
s:mov ax,offset s //相当于 mov ax,3 (s标记第二条指令地址,第一条指令地址长度为3个字节)
codesg ends
end start
1.2 jmp指令
jmp为无条件转移指令,可以