We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello, I would like to know if there's any way I can write C code that will use the assembly instructions RLC and ACC.x efficiently. I would like to some C code that will result in: MOV A,byBuffer MOV c,bInput RLC A MOV byBuffer,A The closest I could get was this: byBuffer=(byBuffer<<1)&bInput; Which results in: MOV A,byBuffer ADD A,ACC MOV R7,A MOV C,bInput CLR A RLC A ANL A,R7 MOV byBuffer,A The same thing happens when I want to use a specific bit from a byte. I have never seen the C-compiler use the ACC.x instruction. It uses solutions like this: MOV A,R6 MOV R0,AR5 INC R0 SJMP ?C0078 ?C0077: CLR C RLC A ?C0078: DJNZ R0,?C0077 Any ideas ????
"Are there any C-constructions (or macros) that are known to use RLC and Acc.x??" I think that goes back to my original comment: No 'C' compiler will guarantee to generate any specific sequence of machine instructions from any specific source line.