本人初學匯編還望各位大神們解答!
我在給程式取得堆疊空間的時候,發現我不管把資料改成30h、還是20h,用debug查看記憶體的時候總是會多出來一行,這就使我很迷。因為按照書上的思路來說,我的程式是從偏移地址0開始的,第一行就是資料的,接下來的一行就是獲得的堆疊空間的。正常來說再下面一行是指令的,但是卻無緣無故的空出來一行,為什么?最好能詳細說說,謝謝!我的分不多了,請別嫌棄

以下是代碼和圖片:


assume cs:code
code segment
dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h
dw 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
start: mov ax, cs
mov ss, ax
mov sp, 20h
mov bx, 0
mov cx, 8
s: push cs:[bx]
add bx, 2
loop s
mov bx, 0
mov cx, 8
s0: pop cs:[bx]
add bx, 2
loop s0
mov ax, 4c00h
int 21h
code ends
end start
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230801.html
標籤:其他開發語言
上一篇:如何解決anaconda的spyder不運行任何程式2小時之后就會報錯:Python已停止作業
下一篇:怎么編制一個能計算常用統計量的類
