+ -
当前位置:首页 → 问答吧 → 嵌入式汇编的问题

嵌入式汇编的问题

时间:2010-09-04

来源:互联网

Linux 0.11内核的include/unistd.h里的_syscall1实现我看不懂
代码如下,就是那个输入寄存器我没看懂,“0”是啥:
  1. #define _syscall1(type,name,atype,a) \
  2. type name(atype a) \
  3. { \
  4. long __res; \
  5. __asm__ volatile ("int $0x80" \
  6.         : "=a" (__res) \
  7.         : "0" (__NR_##name),"b" ((long)(a))); \
  8. if (__res >= 0) \
  9.         return (type) __res; \
  10. errno = -__res; \
  11. return -1; \
  12. }
复制代码

作者: yylogo   发布时间: 2010-09-04

回复 yylogo


    0就是第0个参数,就是=a,就是eax

作者: 论坛ID   发布时间: 2010-09-04

干脆谁来个痛快,把整个都解释一下得了,老是忘了嵌入汇编的规则。。

作者: pengjianbokobe   发布时间: 2010-09-04

相关阅读 更多