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
。
幾乎任何新手引導,教程或書應該告訴你這是什麼意思。 –