MASM - 从过程中打印值

时间:2015-04-24 01:39:09

标签: assembly masm

我有一个程序,我正在尝试使用printf返回的堆栈和打印值,但我一直得到错误的数字。提前抱歉,但我是装配新手。 我正在使用的这本书并没有很好地解释它。这是代码:

.386
.model flat,stdcall
.stack 100h

printf proto c arg1:ptr byte, printlist:vararg

.data


fmtmsg1 db "%d ",0

num1 dw 6 
num2 dw 7

.code
addvalues proc
      push ebp
      mov ebp,esp

      mov esi,[ebp + 12] ; number 6
      mov ecx,[ebp + 8] ; number 7

      mov ebx,dword ptr[esi]
      add ebx,dword ptr[ecx]

      invoke printf,addr fmtmsg1,ebx; print value

      pop ebp
      ret 8

addvalues endp


public main

main proc


     push offset num1 
     push offset num2
     call addvalues

     ret
main endp

end main

0 个答案:

没有答案