In order to call fprintf
from assembly code, I write the following
; push arguments...
push dword [stdout] ; given from "extern stdout"
call fprintf
; clean stack..
And it works just fine.
However, I would expect that I need to write push dword stdout
because stdout is already a pointer (FILE*
). Doing so gives me "wrong stdio handle error". Why is that?