指出寻址方式并计算物理地址系统工作于实模式下,并假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0100H,变量VAL的偏移地址为0050H,请指出下列源操作数的寻址方式和物理地址.1.MOV AS,ES:[BX]2.MOV AX,VAL[SI]3.MOV AX,VAL[BX][SI]这三种情况我有些费解.
问题描述:
指出寻址方式并计算物理地址
系统工作于实模式下,并假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0100H,变量VAL的偏移地址为0050H,请指出下列源操作数的寻址方式和物理地址.
1.MOV AS,ES:[BX]
2.MOV AX,VAL[SI]
3.MOV AX,VAL[BX][SI]
这三种情况我有些费解.
答
第一种是指定段寄存器的方法
具体的物理地址是通过ES和BX来计算的,计算方法和DS:BX的方法一样,只不过是把DS换成了ES,没有加段指示前缀的话默认为DS
第二种是MASM提供的一种寻址方式
其实映射到指令的话就是"基址+偏移量"的寻址方式,SI是基址,VAL在这里代表偏移量,这条指定对应的指令是:
MOV AX,[SI+50H]
第三种和第二种类似
其实就是"基址+变址+偏移量"的寻址方式
具体的数值自己计算吧