段超越前缀 ,MOV DI,ES:[SI+3] ,这个物理地址是如何计算的?
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/07/13 17:25:56
段超越前缀 ,MOV DI,ES:[SI+3] ,这个物理地址是如何计算的?
DI等于多少?
DI等于多少?
物理地址=ES*10H+SI+3
DI是附加段ES中偏移量为SI+3单元的内容,具体的值只能是假设的
再问: 还 是没明白 ,为什么要ES*10H ?
再答: 8086的物理地址是20位的,而段寄存器只有16位,在合成物理地址时需要先将段寄存器中16位的段地址左移四位得到一个20位的段地址,也就是在段地址低位补四个0,相当于乘了16进制的10,这就是ES*10H 。
再问: SI是一个存储器指针,位移量为3,目的操作数显式指定的段寄存器为ES。 所以目的操作数的物理地址PA = ES * 16d(10h)+ SI + 3,DI的值为该地址单元中存放的字类型数据。 有个人告诉我是这样的???
再答: 这个描述很正确
DI是附加段ES中偏移量为SI+3单元的内容,具体的值只能是假设的
再问: 还 是没明白 ,为什么要ES*10H ?
再答: 8086的物理地址是20位的,而段寄存器只有16位,在合成物理地址时需要先将段寄存器中16位的段地址左移四位得到一个20位的段地址,也就是在段地址低位补四个0,相当于乘了16进制的10,这就是ES*10H 。
再问: SI是一个存储器指针,位移量为3,目的操作数显式指定的段寄存器为ES。 所以目的操作数的物理地址PA = ES * 16d(10h)+ SI + 3,DI的值为该地址单元中存放的字类型数据。 有个人告诉我是这样的???
再答: 这个描述很正确
段超越前缀 ,MOV DI,ES:[SI+3] ,这个物理地址是如何计算的?
MOV DI,ES:[SI+3] ,这个物理地址是如何计算的?DI 是多少
MOV AX,【XB+SI】的源操作数的物理地址是?A16X(DS)+(BX)+(SI) B16X(ES)+(BX)+(
汇编语言 MOV ES:[SI],AX 和 LEA DI,ES:DEST
s:mov al,ds:[si] mov es:[di],al inc si add di,1 loop s
mov es:[di],byte ptr ds:[si],为什么错了?
MOV AX,[BX+SI+0002H] ;设BX=000FH,SI=000FH 怎样计算它的物理地址
指出下列指令的错误 1.MOV AH,BX 2.MOV [BX],[SI] 3.MOV AX,[SI][DI] 4.MO
下列指令中内存操作数对应的物理地址描述:(1)mov bx,[bx+si+2] (2)mov 5[bp],ax (3)i
段寄存器物理地址的计算
MOV AX,[BP][SI]的源操作数的物理地址是() . A、16d×(DS)+(BX)+(SI) B、16d×(E
3.下列指令中哪条是正确的( ) A.MOV DS,0200H B.MOV AX,[SI][DI] C.MOV BP,A