gpt4 book ai didi

linux - 从 x86 asm 访问 linux 中的命令行参数的问题

转载 作者:太空宇宙 更新时间:2023-11-04 09:04:00 24 4
gpt4 key购买 nike

我有一个基本的 asm 程序,用于检查字符串是否为数字。我正在添加代码以从命令行争论中读取,让它保持段错误。

如果我读到的是正确的,这应该得到传递给程序的参数数量,它应该存储在 0(%ebp) 中。我做错了什么?

完整的代码可以在这里找到:http://pastebin.com/kGV2Mxx4问题是 _start 的前 3-5 行。

在查看 lscpu 的输出后,我有一个 i868 cpu。虽然,它说它可以在 32 位和 64 位中运行。我正在运行 32 位 linux (Arch linux x86)

我解决了这个问题。我做了 2 个 pop,一个绕过程序名称,下一个获取第一个参数。可以在此处找到更新的代码:http://pastebin.com/xewyeHYf

谁能告诉我为什么我不能只执行以下操作:

pushl 8(%ebp)

movl 8(%ebp), %eax

最佳答案

这是我写的关于这个主题的小教程: NASM - Linux Getting command line parameters

关于linux - 从 x86 asm 访问 linux 中的命令行参数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035394/

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