please have a look at program below #define LMCODE PBYTE[0xfe] /* below is a signal function signal void my_signal (void) { while (1) { rwatch (x:0xfe); _wbyte(x:0xfe,0x0b); } } why i go into a endless loop when i use a sentence like this: while((LMCODE & 0x03)!=0x03) {}