I have some problem when I'm using 'asm' in C++.I need to find max value in array, I wrote the code but it doesn't compare.
void func1(int x[],int lenght){ // Find MAX int max, z = x[0]; //Make first elem is MAX__asm__ volatile ( "movl %1, %%eax;""movl %%eax, %0;" : "=r" ( max ) : "r" ( z ) : "%eax" );for(int i = 1 ; i < lenght; i++) //From second element to end{ __asm__ volatile ( "movl %1, %%ebx;" // Move x[i] to EBX"cmpl %%ebx,%%eax;""jl DONE;"// If EAX less EBX JUMP to 'DONE'"DONE: movl %%ebx,%%eax;" // MOVE EBX to EAX"movl %%eax , %0" // MOVE EAX to 'max' :"=r"(max) :"r"(x[i]) );}