东方不败 发表于 2011-12-30 23:51:52

求证哪个正确!

DATA SEGMENT
TA1 DW 0102H,0304H,0506H
TA2 DB 02H,03H,04H
      .....
MOV BX,DS:
AND BX,0FFH
AND BH,
上述指令序列运行后,BX的内容是()
答案写的是‘0402H’,我用程序实验过结果是‘0002H’
到底哪个对啊,把我搞晕了!解释一下吧!万分感谢!

nuckzjt 发表于 2011-12-31 18:22:27

我是这样认为的你参考一下:
数据排列是:02 01 04 03 06 05 02 03 04
对应的地址:0   12   34    5   6   7   8
执行MOV BX,DS:[0006HBX = 02
         AND BX,0FFH      BX=02,BL =02
         AND BH,       BH =04 ,   
BH BL = 0402

东方不败 发表于 2011-12-31 23:58:28

nuckzjt 发表于 2011-12-31 18:22 static/image/common/back.gif
我是这样认为的你参考一下:
数据排列是:02 01 04 03 06 05 02 03 04
对应的地址:0   12   34    ...

谢谢你,我明白了!

东方不败 发表于 2012-1-1 00:11:10

nuckzjt 发表于 2011-12-31 18:22 static/image/common/back.gif
我是这样认为的你参考一下:
数据排列是:02 01 04 03 06 05 02 03 04
对应的地址:0   12   34    ...

对啦,还有个问题:AND BH,这句,BH=0,=04h,两个与应该是0吧!怎么BH =04啦?
页: [1]
查看完整版本: 求证哪个正确!