I don't understand why the C51 compiler (in Keil) convert C source to this assembly language code: (As p is a pointer to unsigned char)
; p++;
; SOURCE LINE # 216
MOV R3,pDisplay?253
INC pDisplay?253+02H
MOV A,pDisplay?253+02H
MOV R2,pDisplay?253+01H
JNZ ?C0090
INC pDisplay?253+01H
As R3
and R2
wasn't used in the next lines of the program.
Why do compiler make these linesMOV R3,pDisplay?253
,
MOV R2,pDisplay?253+01H
?