EuroAssembler Index Manual Download Source Macros


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 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 MaxInclusions. I0530 Assembling program pass 2 - final. "t2403.asm"{2} E6916 ".\t2403.asm" - number of included files exceeded 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=1837. I0990 EuroAssembler terminated with errorlevel 6.
Expected output file t2403. bin
0000: 31                                                1

▲Back to the top▲