I ran across a compiler bug in fairly recent renditions of the C51 compiler.
unsigned char i,j; for (i=5; i<11; i--) j += i;
CJNE R7,#0BH,?loop