??? 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 |