>>354
{
char outdata = 0;
int sw_cur = 1;
int sw_prev = 1;

while(1){
sw_cur = P2.DR.BIT.B0;
if( !(sw_cur ^ sw_prev) ) continue;
sw_prev = sw_cur;

if( sw_cur == 0 ){
P1.DR.BYTE = outdata << 1;
outdata++;
if(outdata > 4) outdata = 0;
}
}
}