可能重复:
没有汇编的C/C++函数定义
嗨再次,我想知道printf如何在内部工作...在内部我指的是使用什么底层系统调用/ ISR等机制...而不是关于变量参数列表...
原因:我正在使用FASM但是控制台i/o几乎没有,我知道我可以使用c库中提供的printf(我不知道如何但这是另一个点)
谢谢.
的write(2)系统调用,用来与文件描述符集合到STDOUT(其值是1).
要从程序集调用系统调用,eax寄存器必须保存系统调用的id(我认为特定的数字write()是3),其余的寄存器(ebx,ecx,...)必须包含参数.然后执行an int 80h会将控件从进程切换到处理系统调用的内核例程.
以上是特定于平台的,但几乎所有类Unix操作系统都是这样的.