(BX)=637DH,(SI)=2A9BH,位移量D=7237H 用相对基址变址寻址方式求有效地址
寻址方式:表示操作数地址的方式 IBM PC机的寻址方式 与数据有关的寻址方式 与转移地址有关的寻址方式 3.1.1 与数据有关的寻址方式 ( 7种 ) 以 MOV 指令为例 1. 立即寻址方式* -- 操作数在指令中给出 MOV AL, 5 MOV AX, 3064H * 只能用于SRC字段 ? MOV 5, AL * SRC 和 DST的字长一致 ? MOV AH, 3064 2. 寄存器寻址方式* -- 操作数在指定的寄存器中 MOV AX, BX MOV AL, BH * 字节寄存器只有 AH AL BH BL CH CL DH DL * SRC 和 DST的字长一致 MOV AH, BX * CS不能用MOV指令改变 MOV CS, AX 3. 直接寻址方式* -- 有效地址EA由指令直接给出 有效地址EA:操作数的偏移地址 物理地址PA = 16d ? (DS) + EA 例:MOV AX, [2000H] EA=2000H, 假设(DS)=3000H, 那么(PA)=32000H 例:操作数地址可由变量(符号地址)表示 MOV AH, VALUE ( VALUE DB 10 ) * 隐含的段为数据段 DS * 可使用段跨越前缀 MOV AX, ES :[2000H] * 使用变量时,要注意变量的属性 VALUE DB 10 MOV AX, VALUE ;错误 MOV AL, VALUE MOV AX, WORD PTR VALUE * 适于处理单个变量 4. 寄存器间接寻址方式 * --EA在基址寄存器(BX/BP) 或变址寄存器(SI/DI)中 BX, SI, DI ->(DS) 物理地址 = 16d * (DS) + (BX) 物理地址 = 16d * (DS) + (SI) 物理地址 = 16d * (DS) + (DI) BP ->(SS) 物理地址 = 16d * (SS) + (BP) MOV AX, [BX] PA = 16d *(DS) + (BX) MOV ES:[BX] , AX PA = 16d *(ES) + (BX) MOV DX, [BP] PA = 16d