段内:转移指令与转向的目标指令在同一代码段中,(CS)不变。
段间:转移指令与转向的目标指令在两个代码段中, (CS)变化。
1.段内直接寻址
eg: JMP AGAIN 用AGAIN的地址代替当前地址。物理地址= 16d*(CS) +(IP)新
例:JMP NEAR PTR NEXT近转移-32768~ +32767
JMP SHORT NEXT短转移-128~ +127
2.段内间接寻址 转向的有效地址EA是一个寄存器或存储单元的内容。
根本:段内跳转+间接寻址
eg: (BX)=1256H (SI)=528EH TABLE=20A2H (DS)=2000H (232F8H)=3280H (264E4H)=2450H
JMP BX; (IP)=1256H
JMP TABLE[BX]
JMP WORD PTR TABLE[BX]; (IP)=3280H
JMP [BX][SI]
JMP WORD PTR[BX][SI]; (IP)=2450H
3.段间直接寻址 用指令中提供的转向段地址和偏移地址取代CS和IP。
so,需要一个新的段地址+偏移地址转向。
4.段间间接寻址 用存储器中的两个相继字的内容取代CS和IP。
(存储单元的地址可用除立即数和寄存器以外的任何一种数据寻址方式得到)