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

C51 6.23a Bug?

Dear Sir:
Recently, I use C51 6.23a to compile my program, and I find some problem.

typedef UCHAR unsigned char;
void WriteXY_StrScaler(UCHAR Attr,UCHAR x,UCHAR y);

--> List file as below:
; FUNCTION _WriteXY_StrScaler (BEGIN)
; SOURCE LINE # 1591
;---- Variable 'Attr' assigned to Register 'R5' ----
0000 AD07 MOV R5,AR7
0002 8D00 R MOV x,R5
0004 8B00 R MOV y,R3

It has problem, because varible x always be change form AR7.
I compare C51 V6.11, It is no problem,
--> List file as below:
; FUNCTION _WriteXY_StrScaler (BEGIN)
0000 8D00 R MOV x,R5
0002 8B00 R MOV y,R3
;---- Variable 'Attr' assigned to Register 'R7' ----

Pls tell me, what's difference about 6.23a & 6.11.