注册 登录
编程论坛 汇编论坛

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

superinter 发布于 2006-01-02 18:48, 904 次点击

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



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

1 回复
#2
shensheng42006-01-03 07:13

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

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

1