Hi, CAn anyone point out what is the error is following code? It compiles OK, but doesnot work as expected. code char* str1="xxyyzz"; void putstr(const char *s){ unsigned char ctr=8; do{ tx_busy=1; SBUF=*s++; while(tx_busy); }while(--ctr); } void main void() { ... putstr(str1); .. } 'tx_busy' is a flag that is cleared from serial interrupt routine when it gets a tx-interrupt. My serial port is working OK, if i use it as below, for example. SBUF='X'; Any help would be appreciated. Azra