【发布时间】:2015-12-22 17:05:37
【问题描述】:
我想在运行汇编程序时读取命令行参数。我必须使用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,您可以将它们放在堆栈上。见Startup state of a Linux/i386 ELF binary。
-
所以,我试了一下,它看起来像这样: pop eax ;流行 ebx ; mov ecx,偏移味精; mov [ecx], eax;但是当我想把它写在屏幕上时......那它只是随机字符