首页 > 解决方案 > 如何在汇编代码中调用 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

标签: assemblyx86-64

解决方案


fprintf 的第一个参数是 FILE。


推荐阅读