如何在汇编代码中调用fprintf()函数?

时间:2018-12-27 17:25:20

标签: assembly x86-64

我有一个任务在文本文件中写入质数,但是我知道如何将整数转换为字符串,以及将字符串转换为整数,但是我认为这只是一项巨大的工作,所以我记得我有一个函数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

1 个答案:

答案 0 :(得分:2)

fprintf的第一个参数是FILE。