1- 可以修改IP,或同时修改CS和IP的指令统称为转移指令.转移指令就是可以控制CPU执行内存中某处的代码指令
8086CPU的转移行为有以下几类:
(1) 只修改IP时,称为段内转移.比如:jmp ax.
(2) 同时修改CP和IP时,称为段间转移,比如 jmp 1000:0
由于转移指令对IP的修改范围不同,段内转移又分为:短转移和近转移
(1) 短转移IP的修改范围-128-127
(2) 近转移IP的修改范围-32768-32767
8086CPU的转移指令分为以下几类:
(1) 无条件转移指令(jmp)
(2) 条件转移指令
(3) 循环指令(loop)
(4) 过程
(5) 中断
2- 操作符offset在汇编语言中是由编辑器处理的符号,它的功能是取得标号的偏移地址.
1 assume cs:codesg 2 codesg segment 3 start: mov ax, offset start ;相当于mov ax,0 4 s: mov ax, offset s ;相当于mov ax,3 第一条指令为3个字节 5 codesg ends 6 end start
1 ;将s处的代码复制到s0处 2 assume cs:codesg 3 codesg segment 4 s: mov ax,bx 5 mov si, offset s ;机器占2个字节 6 mov di, offset s0 7 mov ax, cs:[si] 8 mov cs:[di],ax 9 s0: nop 10 nop 11 12 mov ax,4c00H 13 int 21h 14 codesg ends 15 end s