EuroAssembler Index Manual Download Source Macros


Sitemap Links Forum Tests Projects

Test t9181: Fixing pass


Description
Size of this executable program (OFFSET# SegmEnd:) oscillates between 184h and 185h 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 0181h.
Tested procedures
PassInspect  
Source & expected listing t9181.htm.lst
| | EUROASM DUMP=ON,DUMPWIDTH=20,DUMPALL=OFF,LISTVAR=YES | |t9181 PROGRAM FORMAT=COM,MODEL=TINY,WIDTH=16, \ | | LISTMAP=OFF,LISTGLOBALS=OFF,MAXPASSES=9 |[COM] ::::Section changed. |0100:90 | NOP ; Let the segment size intentionally oscillate between 0185h and 0184h. |FALSE | %IF OFFSET# SegmEnd: <= 0184h ; The JMP then oscillates | | JMP NearDist: ; between NEAR and SHORT encodings |TRUE | %ELSE ; which involves segment size. |0101:EB7F | JMP ShortDist: | | %ENDIF |0103:000000000000~| D 7Eh * BYTE 0 ; Some stuff to stall off the targets. |0181:90 ....AutoAlignment stuff. |0182:C3 |ShortDist: RET |0183:90 | NOP |0184:C3 |NearDist: RET |[COM]:0185 |SegmEnd: EQU $ | | ENDPROGRAM t9181
Expected messages t9181.out
I0180 Assembling source file "t9181.htm". I0270 Assembling source "t9181". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t9181". "t9181.htm"{53} I0510 Assembling program pass 1. "t9181.htm"{53} I0510 Assembling program pass 2. "t9181.htm"{53} I0510 Assembling program pass 3. "t9181.htm"{53} I0510 Assembling program pass 4. "t9181.htm"{53} I0510 Assembling program pass 5. "t9181.htm"{53} I0510 Assembling program pass 6. "t9181.htm"{53} I0510 Assembling program pass 7. "t9181.htm"{53} I0520 Assembling program pass 8 - fixing. "t9181.htm"{53} I0530 Assembling program pass 9 - final. "t9181.htm"{53} I0660 16bit TINY COM file "t9181.com" created, size=133. "t9181.htm"{68} I0650 Program "t9181" assembled in 9 passes with errorlevel 0. "t9181.htm"{68} I0750 Source "t9181" (93 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t9181.htm.lst" created, size=1089. I0990 EuroAssembler terminated with errorlevel 0.

▲Back to the top▲