我正在尝试将2个变量传递给过程,将它们一起添加,然后返回并打印结果。我正在使用Stack Frame。我没有得到正确的结果,而是一个大的不正确的数字。谢谢。
INCLUDE PCMAC.INC
.MODEL SMALL
.586
.STACK 100h
.DATA
sum DWORD ?
.CODE
EXTRN GetDec :NEAR, PutDDec : NEAR, PutHex : NEAR
Main PROC
_Begin
push 10
push 20
call Test12
; Print result
call PutDDec
_Exit
Main ENDP
Test12 PROC
push ebp
mov ebp, esp
mov eax, [ebp+12] ;
add eax, [ebp+8] ;
pop ebp
ret 8
Test12 ENDP
End Main
答案 0 :(得分:-1)
在将数据推入堆栈之前清除EAX寄存器。
mov eax,0
push 10
push 20
call Test12