2017-02-18 89 views
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意思

为什么?有人可以向我解释如何解决这个问题吗?

+2

几乎任何新手引导,教程或书应该告诉你这是什么意思。 –

回答

4
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