assembly - AT&T ASM 中指向局部变量的指针
问题描述
我正在as
使用libc
(特别是)编写一个汇编程序(用于汇编scanf
),根据我的经验scanf
是这样使用的:
int x;
scanf("%d", &x)
我可以调用scanf
并推送参数都很好:
pushl -4(%ebp)
pushl $msg_template
call scanf
如您所见,x
我上面的 C 代码中的 是-4(%ebp)
因为它是一个局部变量。
事情是,就像上面所说的那样scanf
,&x
不仅仅是x
。
正如预期的那样,我都试过了(-4(%ebp))
,$-4(%ebp)
而且都失败了。
我该如何&x
完成-4(%ebp)
?
解决方案
推荐阅读
- excel - PowerPoint 链接对象的新驱动器映射 - VBA 解决方案
- java - 如何测试 HTTP 请求
- node.js - 使用 POST 请求的 GMail API,错误代码:400,需要收件人地址
- java - 使用 feign 客户端从 Spring Boot 调用 SSL
- javascript - 获取最后一个重定向 URL 的函数(使用 javascript 进行的重定向)
- excel - 如何在 .txt 条件 VBA 中保存列
- python - 多处理池为创建的每个进程运行整个代码,而不仅仅是传递给它的函数
- shell - 解压文件,然后一步一步在控制台中显示
- python - 在 CPU 而不是 GPU 上运行 BERT
- android - 我可以通过 svg 文件创建 GaussianBlur 效果吗?