专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 其他开发语言

#define _set_gate(gate_addr,type,dpl,addr)求解释。解决方案

发布时间:2011-06-30 07:25:39 文章来源:www.iduyao.cn 采编人员:星星草
#define _set_gate(gate_addr,type,dpl,addr)求解释。
#define _set_gate(gate_addr,type,dpl,addr) \   
__asm__ ("movw %%dx,%%ax\n\t" \
"movw %0,%%dx\n\t" \
"movl %%eax,%1\n\t" \
"movl %%edx,%2" \
: \
: "i" ((short) (0x8000+(dpl<<13)+(type<<8))), \
"o" (*((char *) (gate_addr))), \
"o" (*(4+(char *) (gate_addr))), \
"d" ((char *) (addr)),"a" (0x00080000))


谁能解释下"d" ((char *) (addr)),"a" (0x00080000))有什么用啊,
在汇编模板中没用到啊

还有"o" (*((char *) (gate_addr)))的o是什么意思。 

------解决方案--------------------
"d" ((char *) (addr)),是告诉编译器将addr参数装入edx寄存器中,
"a" (0x00080000)),告诉编译器把0x00080000装入eax寄存器中。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: