assembly - 如何在汇编代码中调用 fprintf() 函数?
问题描述
我的任务是在文本文件中写一个素数,但我知道如何将整数转换为字符串,将字符串转换为整数,但我认为这只是一项巨大的工作,然后我记得我有一个函数 fprintf 可以帮帮我,但我不知道为什么会出现分段错误,也许我的论点不太好,你能帮帮我吗?我很感激。
section .data
content db '%d',10,0
mod db 'w',0
fail db 'Marko.txt',0
section .text
extern printf,fopen,fclose,fprintf
global main
main:
push rbp
mov rbp,rsp
push rdi
push rsi
push rbx
mov rdx,0
mov rdi,fail
mov rsi,mod
call fopen
push rax
mov rsi,rax
mov rdi,content
mov rdx,5
call fprintf
pop rdi
close fclose
pop rbx
pop rsi
pop rdi
mov rsp,rbp
pop rbp
ret
解决方案
fprintf 的第一个参数是 FILE。
推荐阅读
- r - 在 R 中的循环内有条件:不识别循环对象 (i) 并抛出错误:没有名为“i”的对象
- matrix - umfpack:发生错误:数字因式分解:内存不足
- wordpress - 按钮上的 Wordpress 文本颜色
- android - 从外部库获取字符串资源
- python - 如何在退出 Python 项目的 Keras 中生成 HDF5/H5 文件
- elasticsearch - 需要帮助了解我的 ElasticSearch 集群运行状况
- javascript - Child categories of sub category not listed
- macros - 为什么基于抽象语法树的宏优于基于字符串预处理的宏?
- json - Smooch - 获取返回无效密钥 ID(孩子)的消息
- notepad++ - 通过字符串向后步进以插入字符