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

# Test t7181: Fixing pass

Description
  Offset of label End in this code oscillates between 82h and 83h in assembly passes, which evocates the fixing pass when the pass number approaches its allowed maximum MAXPASSES=9. The fixing pass inserts supplementary alignment byte at offset 82h.
Tested procedures
  PassInspect

Source & expected listing t7181.htm.lst
  `| | EUROASM DUMP=ON,DUMPWIDTH=20,DUMPALL=OFF,LISTVAR=YES | |t7181 PROGRAM FORMAT=BIN,MODEL=TINY,WIDTH=16, \ | | LISTMAP=OFF,LISTGLOBALS=OFF,MAXPASSES=9 |[CODE] |[CODE] |0000:E98000 | JMP End ; Assembled as short or near jump (2 or 3 bytes) to the End. |FALSE | %IF (End - $) <= 007Fh | | INC AX ; If JMP assembled as short, emit this | | %ENDIF ; for the next pass to make End near. |0003:909090909090~| D 7Fh * INSTR "NOP" ; Some other stuff to stall off the End. |0082:90 ....AutoAlignment stuff. |0083:C3 |End RET | | %DISPLAY SYMBOL=End ; Diagnostic peek on the offset of End during each pass. |# D1400 **** %DISPLAY Symbols=End* |# D1450 End,[CODE]:00000083h,type='I',size=1,scope='S',ref='Y',fix=Y,src="t7181.htm"{56} |# D1790 **** End of %DISPLAY | | ENDPROGRAM t7181`

Expected messages t7181.out
  `I0180 Assembling source file "t7181.htm". I0270 Assembling source "t7181". I0310 Assembling source pass 1. D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0330 Assembling source pass 2 - final. I0470 Assembling program "t7181". "t7181.htm"{53} I0510 Assembling program pass 1. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000081h,type='I',size=1,scope='S',ref='Y',fix=N,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0510 Assembling program pass 2. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000082h,type='I',size=1,scope='S',ref='Y',fix=N,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0510 Assembling program pass 3. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000083h,type='I',size=1,scope='S',ref='Y',fix=N,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0510 Assembling program pass 4. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000082h,type='I',size=1,scope='S',ref='Y',fix=N,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0510 Assembling program pass 5. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000083h,type='I',size=1,scope='S',ref='Y',fix=N,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0510 Assembling program pass 6. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000082h,type='I',size=1,scope='S',ref='Y',fix=N,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0510 Assembling program pass 7. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000083h,type='I',size=1,scope='S',ref='Y',fix=N,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0520 Assembling program pass 8 - fixing. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000083h,type='I',size=1,scope='S',ref='Y',fix=Y,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0530 Assembling program pass 9 - final. "t7181.htm"{53} D1400 **** %DISPLAY Symbols=End* "t7181.htm"{63} D1450 End,[CODE]:00000083h,type='I',size=1,scope='S',ref='Y',fix=Y,src="t7181.htm"{56} "t7181.htm"{63} D1790 **** End of %DISPLAY "t7181.htm"{63} I0660 16bit TINY BIN file "t7181.bin" created, size=132. "t7181.htm"{67} I0650 Program "t7181" assembled in 9 passes with errorlevel 1. "t7181.htm"{67} I0750 Source "t7181" (134 lines) assembled in 2 passes with errorlevel 1. I0860 Listing file "t7181.htm.lst" created, size=1068. I0990 EuroAssembler terminated with errorlevel 1.`

Expected output file t7181. bin

      0000: E9 80 00 90 90 90 90 90 90 90 90 90 90 90 90 90  ¤¤°¤¤¤¤¤¤¤¤¤¤¤¤¤
      0010: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
      0020: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
      0030: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
      0040: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
      0050: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
      0060: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
      0070: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
      0080: 90 90 90 C3                                      ¤¤¤¤

▲Back to the top▲