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水木清华站∶精华区