当前位置: 技术问答>linux和unix
谁能告诉我printk这个函数中的汇编什么意思,它的工作原理是怎样的?
来源: 互联网 发布时间:2017-05-12
本文导语: 谁能告诉我printk这个函数中的汇编什么意思,它的工作原理是怎样的? 代码来自Linux内核0.11,非常感谢! int printk(const char *fmt, ...) { va_list args; int i; va_start(args, fmt); i=vsprintf(buf,fmt,args); ...
谁能告诉我printk这个函数中的汇编什么意思,它的工作原理是怎样的?
代码来自Linux内核0.11,非常感谢!
代码来自Linux内核0.11,非常感谢!
int printk(const char *fmt, ...)
{
va_list args;
int i;
va_start(args, fmt);
i=vsprintf(buf,fmt,args);
va_end(args);
__asm__("push %%fsnt"
"push %%dsnt"
"pop %%fsnt"
"pushl %0nt"
"pushl $bufnt"
"pushl $0nt"
"call tty_writent"
"addl $8,%%espnt"
"popl %0nt"
"pop %%fs"
::"r" (i):"ax","cx","dx");
return i;
}
|
只知道能用在驱动里面打印语句,剩下的等大牛解答