1*0333dd95SReid Kleckner asmFunc(unsigned char a,unsigned char b)2*0333dd95SReid Klecknerunsigned char asmFunc(unsigned char a, unsigned char b) { 3*0333dd95SReid Kleckner unsigned int la = a; 4*0333dd95SReid Kleckner unsigned int lb = b; 5*0333dd95SReid Kleckner unsigned int bigres; 6*0333dd95SReid Kleckner unsigned char res; 7*0333dd95SReid Kleckner __asm__ ("0:\n1:\n" : [bigres] "=la"(bigres) : [la] "0"(la), [lb] "c"(lb) : 8*0333dd95SReid Kleckner "edx", "cc"); 9*0333dd95SReid Kleckner res = bigres; 10*0333dd95SReid Kleckner return res; 11*0333dd95SReid Kleckner } 12*0333dd95SReid Kleckner asmFunc2(int i)13*0333dd95SReid Klecknerint asmFunc2(int i) { 14*0333dd95SReid Kleckner int res; 15*0333dd95SReid Kleckner asm ("mov %1, %0 \t\n" 16*0333dd95SReid Kleckner "inc %0 " 17*0333dd95SReid Kleckner : "=r" (res) 18*0333dd95SReid Kleckner : "r" (i) 19*0333dd95SReid Kleckner : "cc"); 20*0333dd95SReid Kleckner return res; 21*0333dd95SReid Kleckner } 22