给定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH, (224A0)=0600H,(275B9)=098AH,试为以下的转移指令找出转移的偏移地址。 (1)段内直接寻址。 (2)使用BX及寄存器间接寻址方式的段内间接寻址。 (3)使用BX及寄存器相对寻址方式的段内间接寻址。
时间: 2023-03-21 15:00:34 浏览: 173
根据给定的信息,可以得出以下变量:
- (IP) = 2BC0H,指令指针寄存器
- (CS) = 0200H,代码段寄存器
- D = 5119H,位移量
- (BX) = 1200H,基址寄存器
- (DS) = 212AH,数据段寄存器
- (224A0) = 0600H,内存地址224A0处的值
- (275B9) = 098AH,内存地址275B9处的值
以下是对每个问题的解答:
1. 段内直接寻址
段内直接寻址的转移指令的偏移地址为直接给定的位移量D。
因此,偏移地址为:5119H。
2. 使用BX及寄存器间接寻址方式的段内间接寻址
使用BX及寄存器间接寻址方式的段内间接寻址需要将偏移地址计算为(BX)+寄存器中的值。
根据题目,BX的值为1200H,数据段寄存器DS的值为212AH,因此,偏移地址为:(1200H)+(DS):(5119H) = 212A:6319H。
其中,(1200H)+(5119H) = 6319H,表示寻址的结果,即在数据段中相对于基地址1200H的偏移量。
3. 使用BX及寄存器相对寻址方式的段内间接寻址
使用BX及寄存器相对寻址方式的段内间接寻址需要将偏移地址计算为相对于指令指针寄存器IP的偏移量。
在这种情况下,偏移量D需要进行符号扩展,然后加上BX的值。
因此,偏移地址为:(IP)+(BX)+(符号扩展的D) = 2BC0H+1200H+(FFFF5119H) = 2D319H。
其中,(FFFF5119H)表示将D的符号扩展,即将其扩展为16位数,并将其符号位复制到高位。这是因为D的最高位为1,表示其为负数。