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?