This article from Keil's support knowledge database shows that one can directly write to ACC from C51 code. http://www.keil.com/support/docs/1619.htm I would like to know if there are any rules when writing to ACC from C code. I have noticed that the following line in my code was entirely commented out when I chose Code Optimization Level-9.
unsigned char data uDataIndex, uDataArray[5]; void main() { . . ACC=uDataArray[uDataIndex%5]; . }
Why would a 'C' programmer want to do this? To get the parity bit. In fact, this is the only purpose for writing to ACC directly from 'C'. You would not be able to guarantee that your value would still be there for use by any other 'C' statement! Well said!