关于gas语法的问题.
兄弟最近正在看读写锁的实现,如下这段汇编的这一句{".section .text.lock,\"ax\"\n" \}不太明白,特别是这句中的"ax"是做什么的?恳请各位赐教,谢谢!
#define __build_write_lock_const(rw, helper) \ asm volatile(LOCK "subl $" RW_LOCK_BIAS_STR ",(%0)\n\t" \ "jnz 2f\n" \ "1:\n" \ ".section .text.lock,\"ax\"\n" \ "2:\tpushl %%eax\n\t" \ "leal %0,%%eax\n\t" \ "call " helper "\n\t" \ "popl %%eax\n\t" \ "jmp 1b\n" \ ".previous" \ :"=m" (*(volatile int *)rw) : : "memory") |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
info as
`a'
section is allocatable
`x'
section is executable
呵呵!非常感谢!
原以为是寄存器呢.
碰到这种问题就先查下手册嘛.