1

fputs(str, stdout);アセンブリから呼び出そうとしています。

push dword [stdout]ただの代わりになぜ私が必要なのpush stdoutですか?

C では を行わないのに、アセンブリfputs(str, *stdout)で逆参照する必要があるのはなぜですか?stdout

完全なコード:

extern fputs
extern stdout

section .data
    hw: db "Hello World!", 10, 0

section .text
    global main

main:
    enter 0,0

    push dword [stdout]
    ;push stdout
    push hw
    call fputs

    leave
    mov eax, 0
    ret
4

1 に答える 1