linux - 在汇编中,如何存储来自 scanf 调用的输入?
问题描述
input: .asciz "%ld"...
subq $8, %rsp
eaq -8(%rbp), %rsi
movq $input, %rdi
movq $0, %rax
call scanf
我想存储从 scanf 给出的输入并对其进行修改,然后使用
call printf
我该如何解决这个问题?
解决方案
您可以将输入存储在leaq -8(%rbp), %rsi
,然后打印出值
leaq -8(%rbp), %rsi
pushl %rsi // or %rdi if i'm wrong
pushl $input
call printf
我觉得eaq
意思leaq
推荐阅读
- list - 如何使用Scala中的函数式编程从Map(String,List(String))列表中提取不可变
- python - pandas:将具有相同值的连续行分组为一组
- java - 如何防止 CSVPrinter 再次重写数据
- amazon-product-api - 在 AWS 上拒绝访问请求的资源
- css - 为什么我的 CSS 动画过渡不起作用
- php - 数组中的 Laravel 验证值 - livewire
- r - 箭头显示 R ggplot2 图中每个第 n 个数据点的路径方向
- javascript - 打印日期无效
- spring - 正文为空时的 WebFlux 服务器记录请求和响应
- math - 如何检查一个圆是否在多边形的“外部”?