谁能告诉我printk这个函数中的汇编什么意思,它的工作原理是怎样的?

benbenRH 2014-03-18 10:57:52
谁能告诉我printk这个函数中的汇编什么意思,它的工作原理是怎样的?
代码来自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 %%fs\n\t"
"push %%ds\n\t"
"pop %%fs\n\t"
"pushl %0\n\t"
"pushl $buf\n\t"
"pushl $0\n\t"
"call tty_write\n\t"
"addl $8,%%esp\n\t"
"popl %0\n\t"
"pop %%fs"
::"r" (i):"ax","cx","dx");
return i;
}

...全文
166 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonk-z 2014-03-19
  • 打赏
  • 举报
回复
只知道能用在驱动里面打印语句,剩下的等大牛解答

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧