先看例题
DS=3000H,ES=4000H,SS=5000H,BX=0300H,BP=0050H,SI=0200H计算下列指令中存储器类型操作数的物理地址。...(1)MOV AL,[BP+5] (2)ADD AL,5[BX+SI]
(3)MOV BP,[2000H](4)ADD [BP][SI]+20H,AX并详细解释如何选择DS还是SS
要计算给定指令中的存储器类型操作数的物理地址...MOV BP,[2000H]
段寄存器:此指令中的偏移量是显式的(2000H),没有使用BP或其他偏移寄存器,所以段寄存器为默认的DS。...总结
MOV AL,[BP+5]: 物理地址 = 50055H (使用SS)
ADD AL,5[BX+SI]: 物理地址 = 30505H (使用DS)
MOV BP,[2000H]: 物理地址 = 32000H...(使用DS)
ADD [BP][SI]+20H,AX: 物理地址 = 50270H (使用SS)
在计算物理地址时,选择DS还是SS的关键在于是否使用了BP寄存器:如果使用BP,则默认使用SS;否则使用