代码之家  ›  专栏  ›  技术社区  ›  McCorner

不带stdlib的汇编程序x86

  •  1
  • McCorner  · 技术社区  · 9 年前

    我想在运行汇编程序时读取命令行参数。我必须使用吗 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 回复  |  直到 9 年前
        1
  •  3
  •   David Hoelzer    9 年前

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

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

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