gpt4 book ai didi

linux - IA 32 读取命令行参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:01 25 4
gpt4 key购买 nike

我正在尝试使用 IA 32 的汇编代码读取命令行参数。我在这里找到了如何执行此操作的解释 http://www.paladingrp.com/ia32.shtml .我可以使用堆栈指针来获取参数的数量,但无法获取参数的值。这是我正在尝试做的事情:

movl 8(%esp), %edx  # Move pointer to argument 1 to edx
movl (%edx), %ebx # Move value of edx to ebx
movl $1, %eax # opcode for exit system call in eax
int $0x80 # return

我得到的指针是否正确?如果是这样,我如何获得它的值(value)?如果不是,我如何获得正确的指针?

最佳答案

movl (%edx), %ebx # Move value of edx to ebx

这不会将 EDX 的值移动到 EBX(注释不正确)。

解引用 EDX 中的指针,并将解引用的结果放入EBX。因此,如果您使用 ./a.out foo 调用您的程序,则 EBX 最终将成为 0x006f6f66 (== '\0oof' ("foo\0 “在小端))

我猜这不是您想要的,但您的问题并不清楚您希望在哪里发生什么。

关于linux - IA 32 读取命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8328025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com