-
转移分两种:段内转移、段间转移,其中段内转移又分短转移、近转移
- 短转移IP的修改范围为-128 ~ 127, 8位补码
- 近转移IP的修改范围为-32768 ~ 32767, 16位补码
操作符
offset
形式: offset 标号
说明: 用于提取标号的偏移地址
举例: mov ax, offset s ;将标号s的偏移地址复制给ax指令
jmp
形式 | 说明 | 类型 |
---|---|---|
jmp short 标号 | IP进行8位位移的转移 | 段内短转移 |
jmp near ptr 标号 | IP进行16位位移的转移 | 段内近转移 |
jmp far ptr 标号 | 将标号的SA:EA赋值给CS:IP | 段间转移 |
jmp reg | (IP) = (reg) | 段内近转移 |
jmp word ptr 内存单元 | (IP) = (内存单元地址) | 段内近转移 |
jmp dword ptr 内存单元 | (IP) = (内存单元地址), (CS) = (内存单元地址+2) | 段间转移 |
指令
jcxz
形式: jcxz 标号
说明: 当cx为0时,IP跳转到标号所处位置,属于段内短转移
举例: jcxz ko指令
loop
形式: loop 标号
说明: 当cx不为0时,IP跳转到标号所处位置,属于段内段转移
举例: loop s