[汇编语言]-第九章 转移指令的原理

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
原文地址:https://www.cnblogs.com/galoishelley/p/3573821.html