在介绍这些寻址方式之前,先解释三个表示转移距离(称为位移量)的操作符:SHORT、NEAR、FAR。
SHORT表示位移量在-128~127字节之间。
NEAR表示在同一段内转移,位移量在-32768~32767字节范围内。
FAR表示转移距离超过±32K字节,或是在不同段之间转移。
因为CS:IP寄存器总是指向下一条将要执行的指令的首地址(称为IP当前值),当转移指令执行后,必须修改IP或CS、IP的值。当转移指令给出位移量时,用IP当前值加上位移量即为新的IP的值。
SHORT转移,称为短转移,位移量用一个字节(8位)来表示。
NEAR转移,称为近转移,位移量用16位表示,因为程序控制仍然在当前代码段,所以只修改IP的值,CS的值不变。
FAR转移,称为远转移,因为程序控制超出了当前代码段,所以CS和IP都必须修改为新的值。
与转移地址有关的4种寻址方式就是告诉CPU如何修改CS和IP的值,以达到控制程序转移的目的。