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

# Test t2403: Pseudoinstruction INCLUDE recursively modified program name

Description
  Source file recursively includes itsef. Only EUROASM MAXINCLUSIONS=3 will stop the recursion. Embedded program name is modified with global %variable %DepthNr.
Tested procedures
  PseudoINCLUDE ChunkInclude

Source file t2403.asm

         EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=20, LISTINCLUDE=ON, MAXINCLUSIONS=3
      t2403%DepthNr PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF
      %DepthNr %SETA %DepthNr + 1 ;
      [BIN] SEGMENT PURPOSE=DATA
            DB %DepthNr + '0'
            INCLUDE t2403.asm
            ENDPROGRAM

Expected listing t2403.asm.lst
  `| | EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=20, LISTINCLUDE=ON, MAXINCLUSIONS=3 | |t2403%DepthNr PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF |31 |%DepthNr %SETA %DepthNr + 1 ; |[BIN] |[BIN] SEGMENT PURPOSE=DATA |0000:31 | DB %DepthNr + '0' |0001: * INCLUDE t2403.asm |0001: * INCLUDE "./t2403.asm" | | EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=20, LISTINCLUDE=ON, MAXINCLUSIONS=3 | |t2403%DepthNr PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF |32 |%DepthNr %SETA %DepthNr + 1 ; |[BIN] |[BIN] SEGMENT PURPOSE=DATA |0000:32 | DB %DepthNr + '0' |0001: * INCLUDE t2403.asm |0001: * INCLUDE "./t2403.asm" | | EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=20, LISTINCLUDE=ON, MAXINCLUSIONS=3 | |t2403%DepthNr PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF |33 |%DepthNr %SETA %DepthNr + 1 ; |[BIN] |[BIN] SEGMENT PURPOSE=DATA |0000:33 | DB %DepthNr + '0' |0001: * INCLUDE t2403.asm |0001: * INCLUDE "./t2403.asm" | | EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=20, LISTINCLUDE=ON, MAXINCLUSIONS=3 | |t2403%DepthNr PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF |34 |%DepthNr %SETA %DepthNr + 1 ; |[BIN] |[BIN] SEGMENT PURPOSE=DATA |0000:34 | DB %DepthNr + '0' |0001: * INCLUDE t2403.asm |### E6916 "./t2403.asm" - number of included files exceeded EUROASM MAXINCLUSIONS. | | ENDPROGRAM | | ENDPROGRAM | | ENDPROGRAM | | ENDPROGRAM`

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

Expected output file t2403. bin

      0000: 31                                               1

▲Back to the top▲