转移指令的原理
文章目录
1.转移指令概念
转移指令概念
:可以修改IP,或同时修改CS和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令
8086CPU的转移行为有以下几类:
- 只修改IP时,称为
段内转移
,比如:jmp ax
- 同时修改CS和IP时,称为
段间转移
,比如:jmp 1000:0
由于转移指令对IP的修改范围不同,段内转移又分为:
短转移和近转移
- 短转移IP的修改范围为
-128 ~ 127
- 近转移IP的修改范围为
-32768 ~ 32767
8086CPU的转移指令分为以下几类:
- 无条件转移指令(如:jmp)
- 条件转移指令
- 循环指令(如:loop)
- 过程
- 中断
2.操作符offset
操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址
;将s处的一条指令复制到s0处 ;s和s0是标号 assume cs:codesg codesg segment s: mov ax, bx ;(mov ax,bx 的机器码占两个字节) mov si, offset s ;获得标号s的偏移地址 mov di, offset s0 ;获得标号s0的偏移地址 mov ax, cs:[si] mov cs:[di], ax s0: nop ;(nop的机器码占一个字节) nop codesg