|
发表于 2004-1-5 18:21:55
|
显示全部楼层
[quote:c7c4089395="erunfan"]噢,这么多人呀!
那位牛人给看一下这段代码,谢先了!!
static inline int strcmp(const char * cs,const char * ct)
{
int d0,d1;
register int __res;
__asm__ __volatile__(
"1:\tloadsb\n\t"
"scasb\n\t"
"jne 2f\n\t"
"testb %%al,%%al\n\t"
"jne 1b\n\t"
"xorl %%eax,%%eax\n\t"
"jmp 3f\n"
"2:\tsbbl %%eax,%%eax\n\t"
"orb $1,%%al\n"
"3:"
:"=a"(__res),"=&S" (d0),"=&D" (d1)
:"1" (cs),"2"(ct));
return __res;
}
问题:
1、d0,d1有何用????
2、"=&S" (d0),"=&D" (d1)为何要加一个&符号???? [/quote]
我在smth上回答过相同或类似的题。 |
|