Я пытаюсь передать две переменные в процедуру, добавить их вместе и вернуть и распечатать результат. Я использую Stack Frame. Я не получаю правильный результат, а скорее неправильный номер. Спасибо.MASM: Как передать значение по ссылке
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'? – Jester
Да 'mov eax, 10' отлично работает, например – user190494
Делает ли' push 10; pop eax' тоже отлично работает? Используйте отладчик и/или обеспечивайте фактическую разборку кода. – Jester