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

Bug in C51 V620c ?

1.
When I update my version of C51 Keil in version 6.20c , I tried to compile
an old project. The Ohx51(V1.21j) create a hex file with 0 bytes lenght.
When I try
with V1.21c (included in V6.14) the hex file was OK.
What's wrong with this converter ?

2.
When compile with directive VARBANKING(1) I see in LST file that
?C?XPAGE1SFR
register is pushed on stack begore PSW register. On exit first is poped
?C?XPAGE1SFR and this I think is wrong!

Thanx
Franc


C51 COMPILER V6.20c MAIN
10/24/2001 11:38:35 PAGE 1


C51 COMPILER V6.20c, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: D:\KEIL620\C51\BIN\C51.EXE MAIN.C OMF251
VARBANKING(1) DEBUG CODE

stmt level source

1
2 void TestInt (void) interrupt 1 using 2
3 {
4 1 unsigned char xdata a;
5 1 a += 2;
6 1 }
7
C51 COMPILER V6.20c MAIN
10/24/2001 11:38:35 PAGE 2

ASSEMBLY LISTING OF GENERATED OBJECT CODE


; FUNCTION TestInt (BEGIN)
0000 C0E0 PUSH ACC
0002 C083 PUSH DPH
0004 C082 PUSH DPL
0006 C000 E PUSH ?C?XPAGE1SFR
0008 750000 E MOV ?C?XPAGE1SFR,#?C?XPAGE1RST
000B C0D0 PUSH PSW
; SOURCE LINE # 2
; SOURCE LINE # 5
000D 900000 R MOV DPTR,#a
0010 E0 MOVX A,@DPTR
0011 2402 ADD A,#02H
0013 F0 MOVX @DPTR,A
; SOURCE LINE # 6
0014 D000 E POP ?C?XPAGE1SFR
0016 D0D0 POP PSW
0018 D082 POP DPL
001A D083 POP DPH
001C D0E0 POP ACC
001E 32 RETI
; FUNCTION TestInt (END)

0