我们在前一章中看到了如何仅仅用syscall做一些简单的事,现在我们看能不能直接调用
C标准库中的函数快速做一些"复杂"的事:
section .data
ft db "now is %d",10
section .text
extern puts
extern exit
extern sleep
extern printf
global main
main:
mov edi,11
again:
dec edi
push edi
push ft
call printf
push 1
call sleep
cmp edi,0
jnz again
push msg
call puts
push 0
call exit
msg:
db "happy xxx day!",0
以上代码功能很简单,从10倒数到0,然后打印一行,最后结束.与之前代码不同的是其中
调用了C标准库中的函数.编译和以前一样: