我嘗試了谷歌搜索這一點,我無法找到任何足夠的信息,爲我的理解。這個美元符號在__asm中意味着什麼?
int i;
char msg1[] = "odd";
char msg2[] = "even";
char *ptr;
__asm__(" \
movl i, %eax\n\
andl $1, %eax\n\
jz zero\n\
movl $msg1, %eax\n\
jmp done\n\
zero:\n\
movl $msg2, %eax\n\
done:\n\
movl %eax, ptr\n\
");
爲什麼一些需要$
和其他(如我)沒有$
標誌?
'msg1'也是C變量。爲什麼它有美元符號? – Gabe 2011-03-20 05:50:58
msg1是一個標籤,$ msg1給出了該內存位置的地址。 – Zimbabao 2011-03-20 05:55:32