编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

小弟是汇编的初学者,请问这题怎么做

小弟是汇编的初学者,请问这题怎么做

DATA SETMENT

TA1 DW 0102H,0304H,0506H

TA2 DB 02H,03H,04H

……

MOV BX,DS:[0004H]

AND BX,0FFH

OR BH,[BX]

上述指令序列运行后,BX的内容是(C)。

A、0605H B、0402H C、0206H D、0204H



答案是怎么算的啊,可以写一下过程吗

TOP

首先,段定义方式说明数据段的起始偏移地址是0000H,故DS:[0004H]的内容是06H,取字单位的内容时要同时取出DS:[0005H]的内容,即(BX)=0506H
然后,进行与操作后,(BX)=06H
最后,进行或操作,[BX]是寄存器间接寻址,内容是DS:[BX]即DS:[00006],内容是02H(TA2定义的第一个数据),此操作后BH=02H
所以,最后(BX)=0206H

如有不同意见,欢迎一起讨论。

梦想是不可能实现的,正因为如此才值得我们去追寻。 这是我选择的路,即使付出一切,我也毫无怨言。

TOP

发新话题