Ответ здесь указывает, что ESP + 4
указывает на argv[0]
. Но я не могу заставить его работать:
.section .text
.globl _start
_start:
movl 8(%esp), %ebx
movl $1, %eax
int $0x80
А теперь, когда я пытаюсь выполнить это:
$ as --32 argv.s -o argv.o
$ ld -m elf_i386 argv.o -o argv
$ ./argv 2
$ echo $?
16
Отображается 16
, хотя я ожидаю 16 здесь. Что я делаю не так?