This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

bad optimization with Rn=0;

#include <AT892051.H>
#pragma OPTIMIZE (9, SPEED)

void main (void)
{ unsigned char R;
        R=0;  // this statement always produces ASM-code:
          // CLR  A
          // MOV  R7,A
          // ...!!!!.... why not MOV R7,#0   (2 bytes 1 cycle instead of 2 bytes and 2 cycles)
          //  but, if R=5;   is produced code: MOV  R7,#05H  ;;;;;;;  :o)
//....
   if(P1==0x55) R++;
//...
//...
}

0