没有 stdlib 的汇编程序 x86

Assembler x86 without stdlib

我想在汇编程序 运行 时读取命令行参数。我必须使用 sys_read 还是其他东西?

我知道如何使用 scanf 之类的东西访问数据。例如:

mov eax, 3
mov ebx, 1
mov ecx, msg
mov edx len
int 0x80

不过,我正在寻找的是命令行参数。例如,当我执行 ./a.out 45 23 时,我想访问“45”。

所以,如果有人有一个页面,其中 unixstd.h 定义...我将不胜感激。

在 ELF32 Linux 下访问命令行参数可通过堆栈获得:

mov eax, [esp+8]
mov ebx, [eax]
mov ecx, offset msg
mov [ecx], ebx

感谢@Jester 在评论中的回答!