#define bitset(var,bitno) ((var)|=(1<<(bitno))) #define bitclr(var,bitno) ((var)&=~(1<<(bitno))) #define bittst(var,bitno) (var & (1 << (bitno))) unsigned char i,j,k; main() { i = 0x24; j = 0xC5; k = 0x4D; /* begin 'a' */ while ( bittst(j,5) ) { j++; } /* end 'a' */ /* begin 'b' */ for (j=0; j != 10; j++) { k = k + i; i = k - i; } /* end 'b' */ /* begin 'c' */ do { k--; } while (! bittst (k,3)); /* end 'c' */ /* begin 'd' */ if (k < j) { i++; } else { j++; } /* end 'd' */ /* begin 'e' */ if (i > k) { k--; } else { j--; } /* end 'e' */ printf ("i: %x, j: %x, k: %x\n",i,j,k); }