Why would the following line in C:
XRAM00 |= 0x01;
compile into this:
mov dptr, #XRAM00 movx a, @dptr mov r7, a mov a, r7 orl a, #1 mov r7, a mov dptr, #XRAM00 mov a, r7 movx @dptr, a
I would have expected this:
mov dptr, #XRAM00 movx a, @dptr orl a, #1 movx @dptr, a
OK, now my newbie status becomes blatantly apparent: I had the optimization level set to 9 for the PROJECT, but set to 0 for the individual C files. Oops...
This explains why my disassembled file looked less-than-optimized.