求教~~求MOV 1[BX+SI],AX的地址和执行结果 已知DS=1000H SS=2000H BX=300H BP=50H SI=50H DI=60H AX=12H

 我来答
KawaguchiSky
2011-09-18 · TA获得超过2638个赞
知道小有建树答主
回答量:296
采纳率:100%
帮助的人:128万
展开全部
1[BX+SI], 段地址默认在DS中。有效地址AE = DS * 10h + BX + SI + 1 = 10351h
执行该指令后,该地址存放的数据为0012h。

不过这条指令本身就是不严谨的,具体还是要看各种编译器如何解释。
有的编译器默认传送的数据类型为16位,这取决于源操作数的位宽。这条指令中的AX为16位,因此默认为16位数据传送。
但在MASM中,该条指令无法通过编译,因为需要显式指定该地址存放的数据类型。因此常用的只有以下几种:
mov byte ptr 1[BX + SI], AX,则执行结果为12h
mov word ptr 1[BX + SI], AX,则执行结果为0012h,同默认情况
mov dword ptr 1[BX + SI], AX,则执行结果为00000012h。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式