Inputs: byte a[256], bit go Outputs: byte max_diff, bit done MAX_DIFF: while(1) { while(!go); done = 0; i = 0; max = 0; min = 255; // largest 8-bit value while( i < 256 ) { if( a[i] < min ) { min = a[i]; } if( a[i] > max ) { max = a[i]; } i = i + 1; } max_diff = max - min; done = 1; }