汇编的一道简单题 请前辈们看看

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:13:18
原题:
依次下一条指令从1221开始:

NUM DW 12H,0

^^^^^^^^^
MOV AX,NUM
MOV BX,OFFSET NUM
MOV CL,BYTE PTR NUM+1
MOV CH,TYPE NUM
题目让求出 AX BX CX 的值
AX=0012H
BX=1221H

我认为CX=0200H 而老师讲的是 CX=1200H

}老师讲的是不是错了呢 难道是我理解错了?
--------------
第二个问题 MOV CL,BYTE PTR NUM+1 ; 这一句 有没有必要加上 BYTE PTR
我理解的是 CL是一个8位的 就没有必要将 NUM+1 再属性操作了
===========
请前辈们 指点指点 谢谢 多多回答

-------唉就这5分了 8好意思 我学好后会再多多帮助别人的 谢谢

第一个问题:你正确,你老师错误;
第二个问题:没必要加

不好意思,很遗憾,第一题,你错了,老师是对的!因为 MOV CH,TYPE ptr NUM 的意思是将num中的第一个字节送到cx,而num在内存中的存储方式是:12,00,00,00(因为8086中高字节在高位,低字节在低位),ch是八位的,不是四位的,我不明白那个20h的答案是怎么出来的!
第二题,需要BYTE PTR ,因为NUM被申明是字类型的,如果不加就是word=byte,类型不匹配,就会报错!
最后给你个建议,以后不能太相信网络,如果我今天不路过,你就要被忽悠了啊!这个对于变程人员来说,机器是最好的老师!

汇聚

我刚学,好多不懂,想帮你也帮不上