BBS水木清华站∶精华区
发信人: woolzey (乌贼@2015年), 信区: Linux
标 题: Re: 请教在c代码中嵌入汇编语言__asm__的书写格式
发信站: BBS 水木清华站 (Tue Oct 24 14:32:34 2000)
嵌入式汇编的格式是这样的:
__asm__ [__volatile__](
"opcodes" :
output-vars :
input-vars :
modified-regs
);
输出变量的格式是"=x"(V),其中x是变量类型,V是变量
输入变量是"x"(V),x也是类型,V是变量
【 在 glinuz (Mars) 的大作中提到: 】
∶ 请先看如下代码:
∶ __asm__ __volatile__ ("movw %%dx,%%ax\n\t" \
∶ "movw %2,%%dx\n\t" \
∶ "movl %%eax,%0\n\t" \
∶ "movl %%edx,%1" \
∶ :"=m" (*((long *) (gate_addr))), \
∶ "=m" (*(1+(long *) (gate_addr))) \
∶ :"i" ((short) (0x8000+(dpl<<13)+(type<<8))), \
∶ "d" ((char *) (addr)),"a" (KERNEL_CS << 16) \
∶ :"ax","dx")
∶ 其中的符号"=m","i","d","%%",还有冒号,什么意思�
∶ ...................
--
※ 修改:·woolzey 於 Oct 24 14:34:22 修改本文·[FROM: 166.111.215.162]
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.215.162]
BBS水木清华站∶精华区