MOV BX, [1234H] ,执行时,(DS)=2000H,内存单元21234H的值为5213H。问该指令执行后,BX的值是什么?

MOVBX,[1234H],执行时,(DS)=2000H,内存单元21234H的值为5213H。问该指令执行后,BX的值是什么-->由于1234H是一个直接地址,它紧跟在... MOV BX, [1234H] ,执行时,(DS)=2000H,内存单元21234H的值为5213H。问该指令执行后,BX的值是什么
-->由于1234H是一个直接地址,它紧跟在指令的操作码之后,随取指令而被读出;
-->访问数据段的段寄存器是DS,所以,用DS的值和偏移量1234H相加,得存储单元的物理地址:21234H;
-->取单元21234H的值5213H,并按“高高低低”的原则存入寄存器BX中。

DS和1234H是怎么加的?取单元21234H的值5213H并按“高高低低”的原则存入寄存器BX中。是怎么回事
展开
 我来答
天晴在那天
推荐于2016-10-10 · TA获得超过3263个赞
知道小有建树答主
回答量:782
采纳率:0%
帮助的人:563万
展开全部
这个很明显是直接寻址方式,BX是通用寄存器,在计算机储存地址时,作为基址寄存器,[1234H]位移量的值表示的是操作数单元的地址(偏移地址),DS=2000H是段地址,而实际是需要的是物理地址,而物理地址=16Dx段地址+偏移地址 。
这里说一下:段地址是指每一段的起始地址,由于它必须是小段的首地址,所以其低四位一定是0,这样就可以规定段地址只取起始地址的高16位值,偏移地址是指在段内相对与起始地址的偏移量,计算物理地址 就是把段地址左移4位加偏移地址。即(20000+1234)H=21234H。
“高高低低”是指5213H高八位和低八位。如AX有高八位字节AH 和低八位字节AL。
gonghx12
2011-05-27 · TA获得超过152个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:177万
展开全部
ds*16+1234H,段地址要左移1位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式