|
10鱼币
mov bx,0
mov ds,bx
mov al,[0]
即将0000:0地址中的数据move到al中,都为一字节,没有问题
而我在做王爽老师《汇编语言》第三版P55 检测点3.1时
原文如下:
(1)在Debug中,用“d 0:0 1f”查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完成后相关寄存器中的值。
mov ax,1
mov ds,ax
mov ax,[0000] '此处答案给出AX=2662H
…………
mov ax,[0000] AX为什么是读取了一个字而不是一个字节?
AX为什么不等于0062H?
本人对汇编理解并不透彻,如问题有什么让人问中生问的地方请指出,如因为我粗心看书漏掉了某个重要知识点,因我已经根据前面的知识进行了相关分析并没有得到结果,请各位大神指明!
感谢!
你对寄存器理解不到位
AX寄存器分为AL和AH,一个是低字节一个是高字节,寄存器AX就是个16位寄存器,可以整体用,也可以分成两部分用
当你写mov al,[0]时,就是读一个字节到AL,
当你写mov ax,[0000]时,就是读一个字到AX
|
最佳答案
查看完整内容
你对寄存器理解不到位
AX寄存器分为AL和AH,一个是低字节一个是高字节,寄存器AX就是个16位寄存器,可以整体用,也可以分成两部分用
当你写mov al,[0]时,就是读一个字节到AL,
当你写mov ax,[0000]时,就是读一个字到AX
|