May 27, 2013
7:51 a.m.
hi all: The codes is: static int match(int len,const char * name,struct dir_entry * de) { register int same __asm__("ax"); if (!de || !de->inode || len > NAME_LEN) return 0; if (len < NAME_LEN && de->name[len]) return 0; *__asm__ ("cld\n\t"* "fs ; repe ; cmpsb\n\t" "setz %%al" :"=a" (same) :"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len) :"cx","di","si"); return same; } When I make it, the error messages is: *namei.c:35: error: can't find a register in class ‘AREG’ while reloading ‘asm’* * * *This is why? * *Thank you*