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

# Test t1646: Attributes of undefined symbol

Description
  Evolution of forward and backward defined symbols. Querying attribute of undefined symbol without actually refering it is not an error.
Tested procedures
  SymCreate

Source & expected listing t1646.htm.lst
  `| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=16,DUMPALL=OFF,AUTOALIGN=OFF | |t1646 PROGRAM FORMAT=BIN,MODEL=TINY,WIDTH=16,LISTMAP=ON,LISTGLOBALS=OFF |[]:00FF |ScalarSym: EQU 255 |[BIN] |[BIN] |0000:0000 | DW 0 |0002:BBBB |BwdRefSym:DW 0xBBBB |0004: |PublicSym:: |0004:B04E | MOV AL,TYPE# ScalarSym: ; 0x4E='N'. |0006:B053 | MOV AL,SCOPE# ScalarSym: ; 0x53='S'. |0008:B057 | MOV AL,TYPE# BwdRefSym: ; 0x57='W'. |000A:B053 | MOV AL,SCOPE# BwdRefSym: ; 0x53='S'. |000C:B057 | MOV AL,TYPE# FwdRefSym: ; 0x41='W'. |000E:B053 | MOV AL,SCOPE# FwdRefSym: ; 0x53='S'. |0010:B041 | MOV AL,TYPE# PublicSym: ; 0x41='A'. |0012:B050 | MOV AL,SCOPE# PublicSym: ; 0x50='P'. |0014:B041 | MOV AL,TYPE# ExternSym: ; 0x41='A'. |0016:B045 | MOV AL,SCOPE# ExternSym: ; 0x45='E'. |0018:B03F | MOV AL,TYPE# NonDefSym: ; 0x3F='?'. No error expected. |001A:B053 | MOV AL,SCOPE# NonDefSym: ; 0x53='S'. No error expected. |001C:BEFF00 | MOV SI,ScalarSym: |001F:BE[0200] | MOV SI,BwdRefSym: |0022:BE[2E00] | MOV SI,FwdRefSym: |0025:BE[0400] | MOV SI,PublicSym: |0028:BE[0000] | MOV SI,ExternSym:: ; E6961 and E7733 are expected at link time. |002B: | MOV SI,NonDefSym: ; E6601 is expected at assembly time. |### E6601 Symbol "NonDefSym" mentioned at "t1646.htm"{75} was not found. |002B:9087C9 | ALIGN 16,14 |002E:FFFF |FwdRefSym:DW 0xFFFF | | %DISPLAY Symbols |# D1400 **** %DISPLAY Symbols=* |# D1450 BIN,[BIN]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{54} |# D1450 BwdRefSym,[BIN]:00000002h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1646.htm"{56} |# D1450 ExternSym,[ExternSym]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t1646.htm"{74} |# D1450 FwdRefSym,[BIN]:0000002Eh,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1646.htm"{72} |# D1450 NonDefSym,[BIN]:00000000h,type='?',size=0,scope='S',ref='Y',fix=Y,src="t1646.htm"{75} |# D1450 PublicSym,[BIN]:00000004h,type='A',size=0,scope='P',ref='Y',fix=Y,src="t1646.htm"{57} |# D1450 ScalarSym,[]:000000FFh,type='N',size=0,scope='S',ref='Y',fix=Y,src="t1646.htm"{53} |# D1790 **** End of %DISPLAY | |ENDPROGRAM t1646 |### E6961 Unresolved external/imported symbol "ExternSym". |### E7733 Absolute relocation at [BIN]:00000029 is not resolvable in this program format. | **** ListMap "t1646.bin",model=TINY,groups=1,segments=1,entry=,stack=[COMGROUP]:0000FFFEh | [COMGROUP],FA=00000000h,VA=00000000h,size=00000030h=48,group [BIN] | [BIN],FA=00000000h,VA=00000000h,size=00000030h=48,width=16,align=0010h,purpose=CODE+DATA+RODATA+BSS+STACK`

Expected messages t1646.out
  `I0180 Assembling source file "t1646.htm". I0270 Assembling source "t1646". I0310 Assembling source pass 1. D1400 **** %DISPLAY Symbols=* "t1646.htm"{79} D1450 BSS,[BSS]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t1646.htm"{79} D1450 CODE,[CODE]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t1646.htm"{79} D1450 COMGROUP,[COMGROUP]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t1646.htm"{79} D1450 DATA,[DATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t1646.htm"{79} D1450 RODATA,[RODATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t1646.htm"{79} D1450 STACK,[STACK]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t1646.htm"{79} D1790 **** End of %DISPLAY "t1646.htm"{79} I0330 Assembling source pass 2 - final. I0470 Assembling program "t1646". "t1646.htm"{52} I0510 Assembling program pass 1. "t1646.htm"{52} D1400 **** %DISPLAY Symbols=* "t1646.htm"{79} D1450 BIN,[BIN]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{54} "t1646.htm"{79} D1450 BSS,[BSS]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 BwdRefSym,[BIN]:00000002h,type='W',size=2,scope='S',ref='Y',fix=N,src="t1646.htm"{56} "t1646.htm"{79} D1450 CODE,[CODE]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 COMGROUP,[COMGROUP]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 DATA,[DATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 ExternSym,[BIN]:00000000h,type='?',size=0,scope='G',ref='Y',fix=N,src="t1646.htm"{74} "t1646.htm"{79} D1450 FwdRefSym,[BIN]:0000002Eh,type='W',size=2,scope='S',ref='Y',fix=N,src="t1646.htm"{72} "t1646.htm"{79} D1450 NonDefSym,[BIN]:00000000h,type='?',size=0,scope='S',ref='Y',fix=N,src="t1646.htm"{75} "t1646.htm"{79} D1450 PublicSym,[BIN]:00000004h,type='A',size=0,scope='G',ref='Y',fix=N,src="t1646.htm"{57} "t1646.htm"{79} D1450 RODATA,[RODATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 ScalarSym,[]:000000FFh,type='N',size=0,scope='S',ref='Y',fix=N,src="t1646.htm"{53} "t1646.htm"{79} D1450 STACK,[STACK]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1790 **** End of %DISPLAY "t1646.htm"{79} I0510 Assembling program pass 2. "t1646.htm"{52} D1400 **** %DISPLAY Symbols=* "t1646.htm"{79} D1450 BIN,[BIN]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{54} "t1646.htm"{79} D1450 BSS,[BSS]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 BwdRefSym,[BIN]:00000002h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1646.htm"{56} "t1646.htm"{79} D1450 CODE,[CODE]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 COMGROUP,[COMGROUP]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 DATA,[DATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 ExternSym,[ExternSym]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t1646.htm"{74} "t1646.htm"{79} D1450 FwdRefSym,[BIN]:0000002Eh,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1646.htm"{72} "t1646.htm"{79} D1450 NonDefSym,[BIN]:00000000h,type='?',size=0,scope='S',ref='Y',fix=Y,src="t1646.htm"{75} "t1646.htm"{79} D1450 PublicSym,[BIN]:00000004h,type='A',size=0,scope='P',ref='Y',fix=Y,src="t1646.htm"{57} "t1646.htm"{79} D1450 RODATA,[RODATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1450 ScalarSym,[]:000000FFh,type='N',size=0,scope='S',ref='Y',fix=Y,src="t1646.htm"{53} "t1646.htm"{79} D1450 STACK,[STACK]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{52} "t1646.htm"{79} D1790 **** End of %DISPLAY "t1646.htm"{79} I0530 Assembling program pass 3 - final. "t1646.htm"{52} E6601 Symbol "NonDefSym" mentioned at "t1646.htm"{75} was not found. "t1646.htm"{75} D1400 **** %DISPLAY Symbols=* "t1646.htm"{79} D1450 BIN,[BIN]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t1646.htm"{54} "t1646.htm"{79} D1450 BwdRefSym,[BIN]:00000002h,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1646.htm"{56} "t1646.htm"{79} D1450 ExternSym,[ExternSym]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t1646.htm"{74} "t1646.htm"{79} D1450 FwdRefSym,[BIN]:0000002Eh,type='W',size=2,scope='S',ref='Y',fix=Y,src="t1646.htm"{72} "t1646.htm"{79} D1450 NonDefSym,[BIN]:00000000h,type='?',size=0,scope='S',ref='Y',fix=Y,src="t1646.htm"{75} "t1646.htm"{79} D1450 PublicSym,[BIN]:00000004h,type='A',size=0,scope='P',ref='Y',fix=Y,src="t1646.htm"{57} "t1646.htm"{79} D1450 ScalarSym,[]:000000FFh,type='N',size=0,scope='S',ref='Y',fix=Y,src="t1646.htm"{53} "t1646.htm"{79} D1790 **** End of %DISPLAY "t1646.htm"{79} E6961 Unresolved external/imported symbol "ExternSym". "t1646.htm"{89} E7733 Absolute relocation at [BIN]:00000029 is not resolvable in this program format. "t1646.htm"{89} I0660 16bit TINY BIN file "t1646.bin" created, size=48. "t1646.htm"{89} I0650 Program "t1646" assembled in 3 passes with errorlevel 7. "t1646.htm"{89} I0750 Source "t1646" (170 lines) assembled in 2 passes with errorlevel 7. I0860 Listing file "t1646.htm.lst" created, size=2769. I0990 EuroAssembler terminated with errorlevel 7.`

Expected output file t1646. bin

      0000: 00 00 BB BB B0 4E B0 53 B0 57 B0 53 B0 57 B0 53  °°¤¤¤N¤S¤W¤S¤W¤S
      0010: B0 41 B0 50 B0 41 B0 45 B0 3F B0 53 BE FF 00 BE  ¤A¤P¤A¤E¤?¤S¤¤°¤
      0020: 02 00 BE 2E 00 BE 04 00 BE 00 00 90 87 C9 FF FF  ·°¤.°¤·°¤°°¤¤¤¤¤

▲Back to the top▲