源操作数的物理地址?AX寄存器的内容?

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:08:09
2.设DS=2000H, ES=3000H SS=4000H, BX=1000H BP=1000H, SI=0001H DI=0002H [21000H]=1234H, [21002H]=5678H [31000H]=9ABCH, [31002H]=0DEF0H [41000H]=3456H, [41002H]=789AH 计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容。 MOV AX, ES:[1000H] 物理地址:________ AX=__________ MOV AX, [BX] 物理地址:________ AX=__________ MOV AX,[BP+DI] 物理地址:________ AX=__________ MOV AX, [BX][SI] 物理地址:________ AX=__________ 还有2道在这里http://hiphotos.baidu.com/wo%D2%AA%B7%C9/pic/item/bef3097b06f0f9fe0bd1870d.jpg
能告诉我为什么吗?谢谢,TELL ME WHY

你的这些问题,都涉及到基本X86汇编中寻址方式的问题.为方便起见,后面用PA表示物理地址.题目中逗号右边,就是源操作数,用SRC表示.
第一小题:SRC是直接寻址方式,PA=ES X 16 + 1000H = 30000H+1000H=31000H,从这个内存地址取两个字节,低前高后组合,送到AX,则AX内容就是9ABCH.
第二小题:SRC是寄存器间接寻址方式,PA=DS X 16 + (BX)=20000H + 1000H =21000H,同样从中取两个字节,则AX内容就是1234H
第三小题,SRC是基址变址寻址方式, PA= SS X 16 +(BP) + (DI) = 40000H+1000H+0002H =41002H,同样从中取两个字节,则AX中应该是789AH
第四小题,SRC同第三小题,PA = DS X 16 + (BX)+(SI) = 20000H+1000H+0001H=21001H,从中取两个字节,注意这里跨了题目给定的两个不同的内存字单元,所以AX中应该是7812H.

连接中的两个题,更简单
第一大题:注意堆栈的先进后出规则
POP DX
POP CX
POP BX
POP AX

第二大题:注意分辨寻址方式特征
SRC 立即寻址 DST 寄存器寻址
立即寻址 寄存器相对寻址
寄存器相对寻址 寄存器寻址
寄存器寻址 基址变址寻址
直接寻址(若BUF是变量,若是常数,为立即寻址) 寄存器寻址
寄存器间接寻址 寄存器寻址
寄存器寻址 基址变址相对寻址

你好.
我刚好以前汇编学的可以 我回答一下
MOV AX, ES:[1000H]
物理地址:31000 AX= 9ABCH,
MOV AX, [BX]
物理地址:21000H AX= 1234H