| Index | Manual | Download | Source | Macros | Embedded word Case ins.
Sitemap | Links | Forum | Tests | Projects

# Test t2404: Pseudoinstruction INCLUDE recursively local program name

Description
  Source file recursively includes itsef. Only EUROASM MAXINCLUSIONS=3 will stop the recursion. Embedded program name is modified by using local identifier.
Tested procedures
  ChunkInclude

Source file t2404.asm

       EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=20,LISTINCLUDE=ON,MAXINCLUSIONS=3 ;
      .Prog PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF
      [BIN] SEGMENT PURPOSE=DATA
            DB 0x11 ;
            INCLUDE t2404.asm
            DB 0x99 ;
            ENDPROGRAM .Prog

Expected listing t2404.asm.lst
  `| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=20,LISTINCLUDE=ON,MAXINCLUSIONS=3 ; | |.Prog PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF |[BIN] |[BIN] SEGMENT PURPOSE=DATA |0000:11 | DB 0x11 ; |0001: * INCLUDE t2404.asm |0001: * INCLUDE "./t2404.asm" | | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=20,LISTINCLUDE=ON,MAXINCLUSIONS=3 ; | |.Prog PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF |[BIN] |[BIN] SEGMENT PURPOSE=DATA |0000:11 | DB 0x11 ; |0001: * INCLUDE t2404.asm |0001: * INCLUDE "./t2404.asm" | | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=20,LISTINCLUDE=ON,MAXINCLUSIONS=3 ; | |.Prog PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF |[BIN] |[BIN] SEGMENT PURPOSE=DATA |0000:11 | DB 0x11 ; |0001: * INCLUDE t2404.asm |0001: * INCLUDE "./t2404.asm" | | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=20,LISTINCLUDE=ON,MAXINCLUSIONS=3 ; | |.Prog PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF |[BIN] |[BIN] SEGMENT PURPOSE=DATA |0000:11 | DB 0x11 ; |0001: * INCLUDE t2404.asm |### E6916 "./t2404.asm" - number of included files exceeded EUROASM MAXINCLUSIONS. |0001:99 | DB 0x99 ; | | ENDPROGRAM .Prog |[BIN] ::::Section changed. |0001:99 | DB 0x99 ; | | ENDPROGRAM .Prog |[BIN] ::::Section changed. |0001:99 | DB 0x99 ; | | ENDPROGRAM .Prog |[BIN] ::::Section changed. |0001:99 | DB 0x99 ; | | ENDPROGRAM .Prog`

Expected messages t2404.out
  `I0180 Assembling source file "t2404.asm". I0270 Assembling source "t2404". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t2404.Prog". "t2404.asm"{2} I0510 Assembling program pass 1. "t2404.asm"{2} I0530 Assembling program pass 2 - final. "t2404.asm"{2} I0470 Assembling program "t2404.Prog.Prog". "t2404.asm"{2} I0510 Assembling program pass 1. "t2404.asm"{2} I0530 Assembling program pass 2 - final. "t2404.asm"{2} I0470 Assembling program "t2404.Prog.Prog.Prog". "t2404.asm"{2} I0510 Assembling program pass 1. "t2404.asm"{2} I0530 Assembling program pass 2 - final. "t2404.asm"{2} I0470 Assembling program "t2404.Prog.Prog.Prog.Prog". "t2404.asm"{2} I0510 Assembling program pass 1. "t2404.asm"{2} E6916 "./t2404.asm" - number of included files exceeded EUROASM MAXINCLUSIONS. I0530 Assembling program pass 2 - final. "t2404.asm"{2} E6916 "./t2404.asm" - number of included files exceeded EUROASM MAXINCLUSIONS. I0660 16bit TINY BIN file "t2404.Prog.Prog.Prog.Prog.bin" created, size=2. "t2404.asm"{7} I0650 Program "t2404.Prog.Prog.Prog.Prog" assembled in 2 passes with errorlevel 6. "t2404.asm"{7} I0660 16bit TINY BIN file "t2404.Prog.Prog.Prog.bin" created, size=2. "t2404.asm"{7} I0650 Program "t2404.Prog.Prog.Prog" assembled in 2 passes with errorlevel 0. "t2404.asm"{7} I0660 16bit TINY BIN file "t2404.Prog.Prog.bin" created, size=2. "t2404.asm"{7} I0650 Program "t2404.Prog.Prog" assembled in 2 passes with errorlevel 0. "t2404.asm"{7} I0660 16bit TINY BIN file "t2404.Prog.bin" created, size=2. "t2404.asm"{7} I0650 Program "t2404.Prog" assembled in 2 passes with errorlevel 0. "t2404.asm"{7} I0750 Source "t2404" (24 lines) assembled in 2 passes with errorlevel 6. I0860 Listing file "t2404.asm.lst" created, size=1856. I0990 EuroAssembler terminated with errorlevel 6.`

▲Back to the top▲