我想在程序集运行时读取命令行参数。我需要用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/