0
我在程序集中編寫了一個簡單的程序,我嘗試使用TASM(Turbo)和TLINK運行它。我運行可執行文件後,我得到這個錯誤:在程序集中運行簡單程序時出錯
TITLE 1st Program
.286
.model small
.data
val1 db 0
.code
main PROC
mov bl, 2Bh
mov val1, bl
mov bl, 2Ah ;I suspect this is the line that causes the problem
mov ah, 02 ;calls interrupt to display val1
mov dl, val1
int 21h
mov ah, 04Ch ;calls interrupt to terminat program
mov al, 00
int 21h
main ENDP
end main
如果我刪除,只是移動2AH到BL線,它完美的罰款。我嘗試更改要添加到BL的值,但仍然收到錯誤消息。我只是想了解導致錯誤的原因。
謝謝!
稍後編輯:我已經設法通過添加.stack 100h來解決錯誤。任何人都可以解釋究竟發生了什麼?
對於簡單的例程,我建議在使用它們之前將寄存器推入堆棧,並在例程結束時將它們彈出。這使您可以隨意使用任何寄存器。 – Karel 2012-01-02 13:27:39