没有stdlib的汇编程序x86

时间:2015-12-22 17:05:38

标签: linux assembly x86 32-bit

我想在运行汇编程序时读取命令行参数。我是否必须使用sys_read或其他内容?

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

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

我正在寻找的是命令行参数。当我执行./a.out 45 23时,我希望能够访问'45'。

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

1 个答案:

答案 0 :(得分:3)

通过堆栈可以访问ELF32 Linux下的命令行参数:

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

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