#include unsigned int a,res; unsigned long s; char i; main() { a=P0<<8; s=P1; //b - in P2 for (i=0;i<8;i+=1) { if ((s&0x0001)==1) s+=a; s=s>>1; } res=s&0x0000ffff; P3=res; P2=res>>8; while(1); }