我想在程序集运行时读取命令行参数。我需要用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在评论中的回答!

关于linux - 不带stdlib的汇编程序x86,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34420982/

10-13 09:21