Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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!


List of 24 messages in thread
TopicAuthorDate
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      

Back to Subject List