AT 汇编
mov %a %b
mov $4
movw word 16
movb byte 8
movl long 32
jmp/call *
ljmp/lcall *
寻址:
section:disp(base,index,scale) section:[base+index*scale+disp]
movl -4(%ebx),%eax mov eax,[ebx-4]
movl array(,%eax,4),%eax mov eax,[eax*4+arry]
movw array(%ebx,%eax,4),%cx mov cx,[ebx+4*eax+array]
movb $4,%fs:(%eax) mov fs:eax,4
嵌入汇编
_asm_("asm statements":outputs:inputs:register-modified);
_asm_("push%%eax\n\t""movl$0,%%eax\n\t""popl %eax");//两个%
int main()
{
int a1 = 10,b1 = 0;
_asm_("movl%1,%%eax;\\n\\r" "movl%%eax,%%ecx;"
:"a="(b1)
:"b"(a1)
:"%eax");
printf("REsult:%d,%d\\n",a1,b1);
}
"a" "b" "c" "d" eax ebx ecx edx
copyright of 土麦2014 shuwdy@163.com
mov %a %b
mov $4
movw word 16
movb byte 8
movl long 32
jmp/call *
ljmp/lcall *
寻址:
section:disp(base,index,scale) section:[base+index*scale+disp]
movl -4(%ebx),%eax mov eax,[ebx-4]
movl array(,%eax,4),%eax mov eax,[eax*4+arry]
movw array(%ebx,%eax,4),%cx mov cx,[ebx+4*eax+array]
movb $4,%fs:(%eax) mov fs:eax,4
嵌入汇编
_asm_("asm statements":outputs:inputs:register-modified);
_asm_("push%%eax\n\t""movl$0,%%eax\n\t""popl %eax");//两个%
int main()
{
int a1 = 10,b1 = 0;
_asm_("movl%1,%%eax;\\n\\r" "movl%%eax,%%ecx;"
:"a="(b1)
:"b"(a1)
:"%eax");
printf("REsult:%d,%d\\n",a1,b1);
}
"a" "b" "c" "d" eax ebx ecx edx