用寄存器间接寻址方式时,BX、BP、SI、DI分别针对什么情况来使用?用这4个寄存器分别组合间接寻址时,物理地址是怎样计算的?举例说明。
正确答案:
BX、SI、DI用于在数据段寻址,BP用于在堆栈段寻址。
在数据段物理地址为:PA=DS×10H+BX/SI/DI
或者为:PA=DS×10H+BX+SI 或(BX+DI)
在堆栈段物理地址为:PA=SS×10H+BP
或者为:PA=SS×10H+BP+SI 或(BP+DI)
举例如下:
MOV AX,[BX+SI];在数据段寻址,PA=DS×10H+BX+SI
MOV AX,[BP+DI];在堆栈段寻址,PA=SS×10H+BP+DI
在数据段物理地址为:PA=DS×10H+BX/SI/DI
或者为:PA=DS×10H+BX+SI 或(BX+DI)
在堆栈段物理地址为:PA=SS×10H+BP
或者为:PA=SS×10H+BP+SI 或(BP+DI)
举例如下:
MOV AX,[BX+SI];在数据段寻址,PA=DS×10H+BX+SI
MOV AX,[BP+DI];在堆栈段寻址,PA=SS×10H+BP+DI
答案解析:有

微信扫一扫手机做题