Test t1644:
Attributes of symbol in expression
- Description
-
Subtraction of section# and segment# of symbols in different sections and segments.
- Source & expected listing
t1644.htm.lst
-
| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=16,DUMPALL=OFF,AUTOALIGN=OFF
| |t1644 PROGRAM FORMAT=BIN,MODEL=TINY,WIDTH=16, \
| | LISTMAP=ON,LISTGLOBALS=OFF,IMAGEBASE=1000h
|[BIN] |[BIN] SEGMENT PURPOSE=DATA ; Base segment.
|0000:44444444 | DD 0x4444_4444 ; Identifying placeholder.
|0004:2222 |BaseSym: DW 0x2222 ; Definition of a data address symbol in base section [BIN].
|[SECT] |[SECT] ; Subsection of segment [BIN] with aligned offset 0x0010.
|0010:2222 | DW 0x2222 ; Identifying placeholder.
|0012:3333 |DataSym: DW 0x3333 ; Definition of a data address symbol in section [SECT].
|0014: |;
|0014:0400 | DW OFFSET#BaseSym:
|0016:1200 | DW OFFSET#DataSym:
|0018:1800 | DW OFFSET#$
|001A: |;
|001A:[0000] | DW SECTION#BaseSym:
|001C:[1000] | DW SECTION#DataSym:
|001E:[1000] | DW SECTION#$
|0020: |;
|0020:[0000] | DW SEGMENT#BaseSym:
|0022:[0000] | DW SEGMENT#DataSym:
|0024:[0000] | DW SEGMENT#$
|0026: |;
|0026:2200 | DW OFFSET#$ - OFFSET#BaseSym
|0028:1600 | DW OFFSET#$ - OFFSET#DataSym
|002A: |;
|002A:1000 | DW SECTION#$ - SECTION#BaseSym
|002C:0000 | DW SECTION#$ - SECTION#DataSym
|002E: |;
|002E:0000 | DW SEGMENT#$ - SEGMENT#BaseSym
|0030:0000 | DW SEGMENT#$ - SEGMENT#DataSym
|0032: |;
|0032:1000 | DW SECTION#$ - SEGMENT#$
|0034:F0FF | DW SEGMENT#BaseSym - SECTION#DataSym
|0036: |;
|[CODE] |[CODE] SEGMENT ; Definition of segment [CODE].
|0000:55555555~| DD 2*D 0x5555_5555 ; Identifying placeholder.
|0008:B86666 | CodeSym:MOV AX,0x6666
|000B: |;
|000B:4900 | DW TYPE#CodeSym ; 49h='I'.
|000D:0300 | DW SIZE#CodeSym
|000F:0800 | DW OFFSET#CodeSym
|0011:[0000] | DW SECTION#CodeSym
|0013:[0000] | DW SEGMENT#CodeSym
|0015: |;
|0015:0400 | DW OFFSET#CodeSym-OFFSET#BaseSym
|0017: | DW SECTION#CodeSym-SECTION#BaseSym ; Not supported operation.
|### E6331 Subtraction of addresses from different segments in expression "SECTION#CodeS~~CTION#BaseSym".
|0017: | DW SEGMENT#CodeSym-SEGMENT#BaseSym ; Not supported operation.
|### E6331 Subtraction of addresses from different segments in expression "SEGMENT#CodeS~~GMENT#BaseSym".
|0017: |;
|0017:1300 | DW OFFSET#$-OFFSET#BaseSym
|0019: | DW SECTION#$-SECTION#BaseSym ; Not supported operation.
|### E6331 Subtraction of addresses from different segments in expression "SECTION#$-SECTION#BaseSym".
|0019: | DW SEGMENT#$-SEGMENT#BaseSym ; Not supported operation.
|### E6331 Subtraction of addresses from different segments in expression "SEGMENT#$-SEGMENT#BaseSym".
|0019: |;
| | %DISPLAY SECTIONS,SYMBOLS,RELOCATIONS
|# D1250 **** %DISPLAY Groups, Segments, Sections
|# D1270 [BIN],purpose=DATA,width=16,align=16,combine=PUBLIC,class="",src="t1644.htm"{48}
|# D1280 [BIN],address=00000000h,size=00000006h=6,align=16,ref=Y,src="t1644.htm"{48}
|# D1280 [SECT],address=00000010h,size=00000026h=38,align=16,ref=Y,src="t1644.htm"{51}
|# D1270 [CODE],purpose=CODE,width=16,align=16,combine=PUBLIC,class="",src="t1644.htm"{79}
|# D1280 [CODE],address=00000000h,size=00000019h=25,align=16,ref=Y,src="t1644.htm"{79}
|# D1400 **** %DISPLAY Symbols=*
|# D1450 BaseSym,[BIN]:00000004h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1644.htm"{50}
|# D1450 CodeSym,[CODE]:00000008h,type='I',size=3,scope='S',ref='Y',fix=Y,src="t1644.htm"{81}
|# D1450 DataSym,[SECT]:00000012h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1644.htm"{53}
|# D1550 **** %DISPLAY Relocations
|# D1560 [SECT]:0000001Ah,target=[BIN]:00000000h,frame=[BIN],width=16,type=abs
|# D1560 [SECT]:0000001Ch,target=[SECT]:00000000h,frame=[BIN],width=16,type=abs
|# D1560 [SECT]:0000001Eh,target=[SECT]:00000000h,frame=[BIN],width=16,type=abs
|# D1560 [SECT]:00000020h,target=[BIN]:00000000h,frame=[BIN],width=16,type=abs
|# D1560 [SECT]:00000022h,target=[BIN]:00000000h,frame=[BIN],width=16,type=abs
|# D1560 [SECT]:00000024h,target=[BIN]:00000000h,frame=[BIN],width=16,type=abs
|# D1560 [CODE]:00000011h,target=[CODE]:00000000h,frame=[CODE],width=16,type=abs
|# D1560 [CODE]:00000013h,target=[CODE]:00000000h,frame=[CODE],width=16,type=abs
|# D1790 **** End of %DISPLAY
| |ENDPROGRAM t1644
| **** ListMap "t1644.bin",groups=1,segments=2,entry=,stack=[BIN]:0000FFFEh
| [BIN],VA=00001000h,size=00000059h=89,group [BIN] [CODE]
| [BIN],VA=00001000h,size=00000036h=54,width=16,align=16,purpose=DATA
| [CODE],VA=00001040h,size=00000019h=25,width=16,align=16,purpose=CODE
- Expected messages
t1644.out
I0180 Assembling source file "t1644.htm".
I0270 Assembling source "t1644".
I0310 Assembling source pass 1.
D1250 **** %DISPLAY Groups, Segments, Sections "t1644.htm"{101}
D1270 [BIN],purpose=CODE+DATA+BSS+STACK,width=16,align=16,combine=PUBLIC,class="",src= "t1644.htm"{101}
D1280 [BIN],address=00000000h,size=00000000h=0,align=16,ref=N,src= "t1644.htm"{101}
D1400 **** %DISPLAY Symbols=* "t1644.htm"{101}
D1550 **** %DISPLAY Relocations "t1644.htm"{101}
D1790 **** End of %DISPLAY "t1644.htm"{101}
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t1644". "t1644.htm"{46}
I0510 Assembling program pass 1. "t1644.htm"{46}
E6331 Subtraction of addresses from different segments in expression "SECTION#CodeS~~CTION#BaseSym". "t1644.htm"{90}
E6331 Subtraction of addresses from different segments in expression "SEGMENT#CodeS~~GMENT#BaseSym". "t1644.htm"{92}
E6331 Subtraction of addresses from different segments in expression "SECTION#$-SECTION#BaseSym". "t1644.htm"{96}
E6331 Subtraction of addresses from different segments in expression "SEGMENT#$-SEGMENT#BaseSym". "t1644.htm"{98}
D1250 **** %DISPLAY Groups, Segments, Sections "t1644.htm"{101}
D1270 [BIN],purpose=DATA,width=16,align=16,combine=PUBLIC,class="",src="t1644.htm"{48} "t1644.htm"{101}
D1280 [BIN],address=00000000h,size=00000006h=6,align=16,ref=Y,src="t1644.htm"{48} "t1644.htm"{101}
D1280 [SECT],address=00000000h,size=00000026h=38,align=16,ref=Y,src="t1644.htm"{51} "t1644.htm"{101}
D1270 [CODE],purpose=CODE,width=16,align=16,combine=PUBLIC,class="",src="t1644.htm"{79} "t1644.htm"{101}
D1280 [CODE],address=00000000h,size=00000019h=25,align=16,ref=Y,src="t1644.htm"{79} "t1644.htm"{101}
D1400 **** %DISPLAY Symbols=* "t1644.htm"{101}
D1450 BaseSym,[BIN]:00000004h,type='W',size=2,scope='S',ref='Y',fix=N,src="t1644.htm"{50} "t1644.htm"{101}
D1450 CodeSym,[CODE]:00000008h,type='I',size=3,scope='S',ref='Y',fix=N,src="t1644.htm"{81} "t1644.htm"{101}
D1450 DataSym,[SECT]:00000002h,type='W',size=2,scope='S',ref='Y',fix=N,src="t1644.htm"{53} "t1644.htm"{101}
D1550 **** %DISPLAY Relocations "t1644.htm"{101}
D1790 **** End of %DISPLAY "t1644.htm"{101}
I0510 Assembling program pass 2. "t1644.htm"{46}
E6331 Subtraction of addresses from different segments in expression "SECTION#CodeS~~CTION#BaseSym". "t1644.htm"{90}
E6331 Subtraction of addresses from different segments in expression "SEGMENT#CodeS~~GMENT#BaseSym". "t1644.htm"{92}
E6331 Subtraction of addresses from different segments in expression "SECTION#$-SECTION#BaseSym". "t1644.htm"{96}
E6331 Subtraction of addresses from different segments in expression "SEGMENT#$-SEGMENT#BaseSym". "t1644.htm"{98}
D1250 **** %DISPLAY Groups, Segments, Sections "t1644.htm"{101}
D1270 [BIN],purpose=DATA,width=16,align=16,combine=PUBLIC,class="",src="t1644.htm"{48} "t1644.htm"{101}
D1280 [BIN],address=00000000h,size=00000006h=6,align=16,ref=Y,src="t1644.htm"{48} "t1644.htm"{101}
D1280 [SECT],address=00000010h,size=00000026h=38,align=16,ref=Y,src="t1644.htm"{51} "t1644.htm"{101}
D1270 [CODE],purpose=CODE,width=16,align=16,combine=PUBLIC,class="",src="t1644.htm"{79} "t1644.htm"{101}
D1280 [CODE],address=00000000h,size=00000019h=25,align=16,ref=Y,src="t1644.htm"{79} "t1644.htm"{101}
D1400 **** %DISPLAY Symbols=* "t1644.htm"{101}
D1450 BaseSym,[BIN]:00000004h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1644.htm"{50} "t1644.htm"{101}
D1450 CodeSym,[CODE]:00000008h,type='I',size=3,scope='S',ref='Y',fix=Y,src="t1644.htm"{81} "t1644.htm"{101}
D1450 DataSym,[SECT]:00000012h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1644.htm"{53} "t1644.htm"{101}
D1550 **** %DISPLAY Relocations "t1644.htm"{101}
D1790 **** End of %DISPLAY "t1644.htm"{101}
I0530 Assembling program pass 3 - final. "t1644.htm"{46}
E6331 Subtraction of addresses from different segments in expression "SECTION#CodeS~~CTION#BaseSym". "t1644.htm"{90}
E6331 Subtraction of addresses from different segments in expression "SEGMENT#CodeS~~GMENT#BaseSym". "t1644.htm"{92}
E6331 Subtraction of addresses from different segments in expression "SECTION#$-SECTION#BaseSym". "t1644.htm"{96}
E6331 Subtraction of addresses from different segments in expression "SEGMENT#$-SEGMENT#BaseSym". "t1644.htm"{98}
D1250 **** %DISPLAY Groups, Segments, Sections "t1644.htm"{101}
D1270 [BIN],purpose=DATA,width=16,align=16,combine=PUBLIC,class="",src="t1644.htm"{48} "t1644.htm"{101}
D1280 [BIN],address=00000000h,size=00000006h=6,align=16,ref=Y,src="t1644.htm"{48} "t1644.htm"{101}
D1280 [SECT],address=00000010h,size=00000026h=38,align=16,ref=Y,src="t1644.htm"{51} "t1644.htm"{101}
D1270 [CODE],purpose=CODE,width=16,align=16,combine=PUBLIC,class="",src="t1644.htm"{79} "t1644.htm"{101}
D1280 [CODE],address=00000000h,size=00000019h=25,align=16,ref=Y,src="t1644.htm"{79} "t1644.htm"{101}
D1400 **** %DISPLAY Symbols=* "t1644.htm"{101}
D1450 BaseSym,[BIN]:00000004h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1644.htm"{50} "t1644.htm"{101}
D1450 CodeSym,[CODE]:00000008h,type='I',size=3,scope='S',ref='Y',fix=Y,src="t1644.htm"{81} "t1644.htm"{101}
D1450 DataSym,[SECT]:00000012h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1644.htm"{53} "t1644.htm"{101}
D1550 **** %DISPLAY Relocations "t1644.htm"{101}
D1560 [SECT]:0000001Ah,target=[BIN]:00000000h,frame=[BIN],width=16,type=abs "t1644.htm"{101}
D1560 [SECT]:0000001Ch,target=[SECT]:00000000h,frame=[BIN],width=16,type=abs "t1644.htm"{101}
D1560 [SECT]:0000001Eh,target=[SECT]:00000000h,frame=[BIN],width=16,type=abs "t1644.htm"{101}
D1560 [SECT]:00000020h,target=[BIN]:00000000h,frame=[BIN],width=16,type=abs "t1644.htm"{101}
D1560 [SECT]:00000022h,target=[BIN]:00000000h,frame=[BIN],width=16,type=abs "t1644.htm"{101}
D1560 [SECT]:00000024h,target=[BIN]:00000000h,frame=[BIN],width=16,type=abs "t1644.htm"{101}
D1560 [CODE]:00000011h,target=[CODE]:00000000h,frame=[CODE],width=16,type=abs "t1644.htm"{101}
D1560 [CODE]:00000013h,target=[CODE]:00000000h,frame=[CODE],width=16,type=abs "t1644.htm"{101}
D1790 **** End of %DISPLAY "t1644.htm"{101}
I0660 16bit TINY BIN file "t1644.bin" created, size=89. "t1644.htm"{122}
I0650 Program "t1644" assembled in 3 passes with errorlevel 6. "t1644.htm"{122}
I0750 Source "t1644" (207 lines) assembled in 2 passes with errorlevel 6.
I0860 Listing file "t1644.htm.lst" created, size=4777.
I0990 EuroAssembler terminated with errorlevel 6.
▲Back to the top▲