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

Why can the code size be zero?

;***********************************
CTEST   MACRO
        REPT    4095
                SJMP $
                SJMP $
                SJMP $
                SJMP $
                SJMP $
                SJMP $
                SJMP $
                SJMP $
        ENDM
        ENDM
;***********************************

        CSEG    AT 0x0000
CODE_START:
        CTEST
        SJMP $
        SJMP $
        SJMP $
        SJMP $
        SJMP $
        SJMP $
        SJMP $
        SJMP $
CODE_END:
        END

The corresponding .lst shows:
A51 MACRO ASSEMBLER  CTEST                                                                05/24/2004 15:16:34 PAGE     1


MACRO ASSEMBLER A51 V7.04
OBJECT MODULE PLACED IN CTEST.OBJ
ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\A51.EXE CTEST.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;***********************************
                       2     CTEST   MACRO
                       3             REPT    4095
                       4                     SJMP $
                       5                     SJMP $
                       6                     SJMP $
                       7                     SJMP $
                       8                     SJMP $
                       9                     SJMP $
                      10                     SJMP $
                      11                     SJMP $
                      12             ENDM
                      13             ENDM
                      14     ;***********************************
                      15
----                  16             CSEG    AT 0x0000
0000                  17     CODE_START:
                      18             CTEST
FFF0 80FE          32789             SJMP $
FFF2 80FE          32790             SJMP $
FFF4 80FE          32791             SJMP $
FFF6 80FE          32792             SJMP $
FFF8 80FE          32793             SJMP $
FFFA 80FE          32794             SJMP $
FFFC 80FE          32795             SJMP $
FFFE 80FE          32796             SJMP $
0000               32797     CODE_END:
                   32798             END


The corresponding .m51 file shows:
BL51 BANKED LINKER/LOCATER V5.02                                                        05/24/2004  15:16:35  PAGE 1


BL51 BANKED LINKER/LOCATER V5.02, INVOKED BY:
C:\KEIL\C51\BIN\BL51.EXE CTEST.obj TO CODE_TEST RAMSIZE (256)


INPUT MODULES INCLUDED:
  CTEST.obj (CTEST)


LINK MAP OF MODULE:  CODE_TEST (CTEST)


            TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
            -----------------------------------------------------

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     0000H     ABSOLUTE


0