所以我有这个子程序:
proc print_msg msgptr:word
mov dx, [msgptr]
mov ah, 9h
int 21h
ret
endp
我尝试使用
调用它call print_msg, offset msg_description
但是在这一行上,tasm说“在线的额外字符”。如何解决这个问题?谢谢。
答案 0 :(得分:2)
call
只接受一个操作数,即子程序的地址。你需要手动传递参数,根据tasm
使用的约定,如果你像你一样声明proc
。假设它使用通常的基于堆栈的约定,您将需要类似的东西:
push offset msg_description
call print_msg
add sp, 2 ; remove argument if called proc doesn't end with `ret 2`