获取命令行参数的数量,NASM

时间:2016-04-21 21:31:51

标签: gcc assembly x86 nasm

据我所知,在执行开始时[esp]包含命令行参数的数量。所以我这样做:

global main
extern printf

section .data
format  db  "%d", 0

section .text
main:
    push format
    call printf
    add esp, 4

    xor eax, eax
    ret

然而,它打印垃圾像-145184962。此代码给出了相同的结果:

push dword [esp]
push format
call printf
add esp, 8

使用nasm -f elf32 a.asmgcc -m32 a.o构建代码。

0 个答案:

没有答案