设(ds)=1000,(es)=2000,(bx)=200,(si)=100,计算下列指令中源操作数的物理地址1)mov ax,[100]2)mov ax,[bx]3)mov ax,[bx][100]4)mov ax,[bx][si]5)mov ax,[bx][si][-100]6)mov ax,es:[bx]

问题描述:

设(ds)=1000,(es)=2000,(bx)=200,(si)=100,计算下列指令中源操作数的物理地址
1)mov ax,[100]
2)mov ax,[bx]
3)mov ax,[bx][100]
4)mov ax,[bx][si]
5)mov ax,[bx][si][-100]
6)mov ax,es:[bx]

物理地址求法:段地址乘以十六再加上偏移量
1) ds*16+D=10000+100=10100(一般默认段地址为ds)
2) ds*16+(bx)=10000+200=10200
3) ds*16+(bx)+D=10000+200+100=10300
4) ds*16+(bx)+(si)=10000+200+100=10300
5) ds*16+(bx)+(si)+D=10000+200-100=10100
6) es*16+(bx)=20000+200=20200(强制规定了段地址为es)