| ??? 09/27/05 10:19 Read: times |
#101602 - Works perfect at my place! Responding to: ???'s previous message |
Hi Vimal
I tried your little code bit, and below you can see my result. As you can see, it compiles, link and locate perfect. I have used standard setup + I checked the assembly listing under compiler options. I've been using SiLabs IDE for a year now, and never experienced problems. By the way: Why invest in an ICE when it is built into the controller?? :-) Here it comes - pretty long I recommend you to print it out, then it is much easier to follow.
============================
The list file
============================
C51 COMPILER V7.50 VIMAL 09/27/2005 11:40:30 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE VIMAL
OBJECT MODULE PLACED IN vimal.OBJ
COMPILER INVOKED BY: C:KEILC51BINC51.EXE vimal.c DB OE CD
line level source
1 unsigned char xdata i=0, j=0;
2 unsigned char xdata *px;
3 void main(void)
4 {
5 1 px=&i;
6 1 j=*px;
7 1 if(j==0)
8 1 {
9 2 i=1;
10 2 }
11 1 else
12 1 {
13 2 i=2;
14 2 }
15 1 px=i*j;
16 1 while(1);
17 1 }
C51 COMPILER V7.50 VIMAL 09/27/2005 11:40:30 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 3
; SOURCE LINE # 4
; SOURCE LINE # 5
0000 750000 R MOV px,#HIGH i
0003 750000 R MOV px+01H,#LOW i
; SOURCE LINE # 6
0006 850082 R MOV DPL,px+01H
0009 850083 R MOV DPH,px
000C E0 MOVX A,@DPTR
000D 900000 R MOV DPTR,#j
0010 F0 MOVX @DPTR,A
; SOURCE LINE # 7
0011 900000 R MOV DPTR,#i
0014 7004 JNZ ?C0001
; SOURCE LINE # 8
; SOURCE LINE # 9
0016 04 INC A
0017 F0 MOVX @DPTR,A
; SOURCE LINE # 10
0018 8003 SJMP ?C0002
001A ?C0001:
; SOURCE LINE # 12
; SOURCE LINE # 13
001A 7402 MOV A,#02H
001C F0 MOVX @DPTR,A
; SOURCE LINE # 14
001D ?C0002:
; SOURCE LINE # 15
001D 900000 R MOV DPTR,#i
0020 E0 MOVX A,@DPTR
0021 907F7F MOV DPTR,#07F7FH
0024 120000 E LCALL ?C?OFFX256
0027 AF82 MOV R7,DPL
0029 858300 R MOV px,DPH
002C 8F00 R MOV px+01H,R7
002E ?C0003:
; SOURCE LINE # 16
002E 80FE SJMP ?C0003
; FUNCTION main (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 48 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 2 ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
============================
Output from the Silabs IDE
============================
Invoking project defined compiler.
C:KeilC51BINc51.exe vimal.c DB OE CD
C51 COMPILER V7.50 - SN: C1S8U-RA1TQD
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2004
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
Link in progress...
C:KeilC51BINBL51.EXE @C:projectsvimalcyglink.txt
BL51 BANKED LINKER/LOCATER V5.12 - SN: C1S8U-RA1TQD
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2004
C:projectsvimalvimal.obj TO C:projectsvimalvimal RS(256) PL(68) PW(78)
Program Size: data=11.0 xdata=2 code=217
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
=================================
The M51 file
=================================
BL51 BANKED LINKER/LOCATER V5.12 09/27/2005 11:40:30 PAGE 1
BL51 BANKED LINKER/LOCATER V5.12, INVOKED BY:
C:KEILC51BINBL51.EXE C:PROJECTSVIMALVIMAL.OBJ TO C:PROJECTSVIMALVIMA
>> L RS (256) PL (68) PW (78)
MEMORY MODEL: SMALL
INPUT MODULES INCLUDED:
C:PROJECTSVIMALVIMAL.OBJ (VIMAL)
C:KEILC51LIBC51S.LIB (?C_STARTUP)
C:KEILC51LIBC51S.LIB (?C?OFFX256)
C:KEILC51LIBC51S.LIB (?C_INIT)
LINK MAP OF MODULE: C:PROJECTSVIMALVIMAL (VIMAL)
TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
DATA 0008H 0002H UNIT ?DT?VIMAL
IDATA 000AH 0001H UNIT ?STACK
* * * * * * * X D A T A M E M O R Y * * * * * * *
XDATA 0000H 0002H UNIT ?XD?VIMAL
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
CODE 0003H 008CH UNIT ?C_C51STARTUP
CODE 008FH 0030H UNIT ?PR?MAIN?VIMAL
CODE 00BFH 0011H UNIT ?C?LIB_CODE
CODE 00D0H 0009H UNIT ?C_INITSEG
OVERLAY MAP OF MODULE: C:PROJECTSVIMALVIMAL (VIMAL)
SEGMENT
+--> CALLED SEGMENT
---------------------
?C_C51STARTUP
+--> ?PR?MAIN?VIMAL
+--> ?C_INITSEG
SYMBOL TABLE OF MODULE: C:PROJECTSVIMALVIMAL (VIMAL)
VALUE TYPE NAME
----------------------------------
------- MODULE VIMAL
C:0000H SYMBOL _ICE_DUMMY_
C:008FH PUBLIC main
D:0008H PUBLIC px
X:0000H PUBLIC i
X:0001H PUBLIC j
------- PROC MAIN
C:008FH LINE# 3
C:008FH LINE# 4
C:008FH LINE# 5
C:0095H LINE# 6
BL51 BANKED LINKER/LOCATER V5.12 09/27/2005 11:40:30 PAGE 2
C:00A0H LINE# 7
C:00A5H LINE# 8
C:00A5H LINE# 9
C:00A7H LINE# 10
C:00A9H LINE# 12
C:00A9H LINE# 13
C:00ACH LINE# 14
C:00ACH LINE# 15
C:00BDH LINE# 16
------- ENDPROC MAIN
------- ENDMOD VIMAL
------- MODULE ?C?OFFX256
C:00BFH PUBLIC ?C?OFFX256
------- ENDMOD ?C?OFFX256
Program Size: data=11.0 xdata=2 code=217
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
=========================================================================
SiLabs disassembly window shows this: (I've used a C8051F320 controller)
This is actually what is downloaded into the chip
=========================================================================
008F 75 08 00 MOV 08H,#00H // I've skipped startup code, so this is line 5.
0092 75 09 00 MOV 09H,#00H
0095 85 09 82 MOV 82H,09H
0098 85 08 83 MOV 83H,08H
009B E0 MOVX A,@DPTR
009C 90 00 01 MOV DPTR,#0001H
009F F0 MOVX @DPTR,A
00A0 90 00 00 MOV DPTR,#0000H
00A3 70 04 JNZ 04H
00A5 04 INC A
00A6 F0 MOVX @DPTR,A
00A7 80 03 SJMP 03H
00A9 74 02 MOV A,#02H
00AB F0 MOVX @DPTR,A
00AC 90 00 00 MOV DPTR,#0000H // line 15. The mul function
00AF E0 MOVX A,@DPTR
00B0 90 7F 7F MOV DPTR,#7F7FH
00B3 12 00 BF LCALL 00BFH // This is the long call to the multiply routine
00B6 AF 82 MOV R7,82H //
00B8 85 83 08 MOV 08H,83H //
00BB 8F 09 MOV 09H,R7 //
00BD 80 FE SJMP FEH // while (1);
QED! |
| Topic | Author | Date |
| Silab IDE Problem | 01/01/70 00:00 | |
| Cross-post | 01/01/70 00:00 | |
| Linker? | 01/01/70 00:00 | |
| Silab IDE Problem | 01/01/70 00:00 | |
| Silab IDE Problem | 01/01/70 00:00 | |
| OBJECTEXTEND | 01/01/70 00:00 | |
| Silab IDE Problem | 01/01/70 00:00 | |
| Silabs does not support anything | 01/01/70 00:00 | |
| debugger - OBJECTEXTEND?? | 01/01/70 00:00 | |
| yes, it does, in the usual stupid way | 01/01/70 00:00 | |
| Silab IDE Problem | 01/01/70 00:00 | |
| Silab IDE Problem | 01/01/70 00:00 | |
| New features...? | 01/01/70 00:00 | |
| That's what I do | 01/01/70 00:00 | |
| Silab IDE Problem | 01/01/70 00:00 | |
| Linker Listing File | 01/01/70 00:00 | |
| Silab IDE Problem | 01/01/70 00:00 | |
Clue !! | 01/01/70 00:00 | |
| Why you think so ? | 01/01/70 00:00 | |
| Diagramatically (warning - widescreen!) | 01/01/70 00:00 | |
| Good diagram | 01/01/70 00:00 | |
| Locator | 01/01/70 00:00 | |
| Works perfect at my place! | 01/01/70 00:00 | |
| "investing in an ICE" | 01/01/70 00:00 |



