Я пытаюсь передать 2 переменные в процедуру, сложить их вместе, вернуть и распечатать результат. Я использую фрейм стека. Я не получаю правильный результат, скорее большое неправильное число. Спасибо.
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
PutDDec
, если просто загрузитьeax
? Вы использовали отладчик для проверки значения вeax
? - person Jester   schedule 04.05.2016push 10; pop eax
тоже нормально работает? Используйте отладчик и/или проведите фактическую дизассемблирование вашего кода. - person Jester   schedule 04.05.2016