您好新來的彙編語言。我試圖讓使用DOSBOX和MASM compilor M}這裏是代碼使用匯編語言查找變量的內存位置
.model small
.stack 100H
.data
VARA BYTE 10 ;address is DS:xxxx
VARB BYTE 0BH ;address is DS:xxxx+1
VARC WORD ?
VARD SBYTE ?
VARE DWORD ?
ARR BYTE 20 DUP(?)
VARF SWORD 010B
ARRB WORD 10 DUP(?)
VARZ BYTE 0
.CODE
MAIN PROC
mov ax,@data
mov ds,ax
mov ax,offset VARA
mov ah,09
int 21h
mov ax,offset VARB
mov ah,09
int 21h
mov ax,offset VARC
mov ah,09
int 21h
mov ax,offset VARD
mov ah,09
int 21h
mov ax,offset VARE
mov ah,09
int 21h
mov ax,offset ARR
mov ah,09
int 21h
mov ax,offset VARF
mov ah,09
int 21h
mov ax,offset ARRB
mov ah,09
int 21h
mov ax,offset VARZ
mov ah,09
int 21h
mov ah,4ch
int 21h
main endp
end main
我怎樣才能找到的內存地址爲所有這些變量變量的存儲位置? U可以看到錯誤的圖像
你可以試試用'/ L'命令行選項來編譯它MASM生成列表文件,在這裏我想地址將是可見的太(以數據段中的偏移量形式,直到二進制文件加載到內存中並且從加載程序動態鏈接到它的目標位置時,絕對真實物理地址纔是已知的。 – Ped7g
關於錯誤:將'VARA BYTE 10'(大小說明符)更改爲'VARA DB 10'(「define byte」指令)等(DWORD用於DWORD和SWORD用於DD用於DWORD) https://msdn.microsoft.com/en-us/library/8f6k0he8.aspx – Ped7g
@ ped7g後糾正這個數據庫有沒有錯誤,但沒有輸出在屏幕上 – abd