1
.data
num dd 090F0433H
.code
mov ax, @data
mov ds, ax
mov ax, word ptr num
mov bx, word ptr num+2
mov cl, byte ptr num+1
对于MOV AX,单词PTR NUM,AH = 04,AL = 33大会字PTR意思
为什么?有人可以向我解释如何解决这个问题吗?
.data
num dd 090F0433H
.code
mov ax, @data
mov ds, ax
mov ax, word ptr num
mov bx, word ptr num+2
mov cl, byte ptr num+1
对于MOV AX,单词PTR NUM,AH = 04,AL = 33大会字PTR意思
为什么?有人可以向我解释如何解决这个问题吗?
num dd 090F0433H
这限定在存储器中双字。由于x86使用小字节序,这个DWORD的最低字节将存储在最低的地址。你选择了命名这个最低地址“num”。
在内存方面:
33h,04h,0Fh,09h
^
|
\num points here
mov ax, word ptr num
当你写了这个mov ax, word ptr num
您有效要求在 “编号” 地址检索只有最低字(2个字节)。
你有在AL
第一个字节33H和AH
第2个字节04H,结合在一个寄存器:AX=0433h
。
mov bx, word ptr num+2
这一件作品类似,但反而会给予只有最高字。
你会得到BX=090Fh
mov cl, byte ptr num+1
这里你问在 “编号” 地址检索只有2个字节。
你会得到CL=04h
。
几乎任何新手引导,教程或书应该告诉你这是什么意思。 –