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

# Test t2381: Pseudoinstruction GLOBAL, PUBLIC, EXTERN

Description
  Explicit and implicit scope declaration.
Tested procedures
  PseudoGLOBAL PseudoPUBLIC PseudoEXTERN SymCreate SymReportUnresolved

Source & expected listing t2381.htm.lst
  `| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=16,AUTOSEGMENT=ON | |t2381 PROGRAM FORMAT=BIN,MODEL=TINY,WIDTH=16,LISTMAP=OFF,LISTGLOBALS=ENABLED | |;; Explicit scope declaration. | |Glb1 GLOBAL Glb2,Glb3 ; Explicit declaration of Glb1, Glb2, Glb3. | |Pub4 PUBLIC Pub5 ; Explicit declaration of Pub4, Pub5. | |Ext6 EXTERN Ext7,Ext8 ; Explicit declaration of Ext6, Ext7, Ext8. |[DATA] ::::Section changed. |0000:1111 |Glb1 DW 0x1111 |0002:2222 |Glb2 DW 0x2222 |0004: |;Glb3: is not defined in this program, therefore it must be external. E6961 expected. |0004:4444 |Pub4 DW 0x4444 |0006:5555 |Pub5 DW 0x5555 |0008:[0000] | DW Ext8 ; Not linked with public Ext8. E6961,E7733 expected at link time. | |;; Implicit scope declaration with double colon. |000A:6666 |Pub6:: DW 0x6666 |000C:[0000] | DW Ext9:: ; Not linked with public Ext9. E6961,E7733 expected at link time. | | %DISPLAY SYMBOLS |# D1400 **** %DISPLAY Symbols=* |# D1450 COMGROUP,[COMGROUP]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} |# D1450 DATA,[DATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} |# D1450 Ext6,[Ext6]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{68} |# D1450 Ext7,[Ext7]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{68} |# D1450 Ext8,[Ext8]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t2381.htm"{68} |# D1450 Ext9,[Ext9]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t2381.htm"{78} |# D1450 Glb1,[DATA]:00000000h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{66} |# D1450 Glb2,[DATA]:00000002h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{66} |# D1450 Glb3,[Glb3]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{66} |# D1450 Pub4,[DATA]:00000004h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{67} |# D1450 Pub5,[DATA]:00000006h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{67} |# D1450 Pub6,[DATA]:0000000Ah,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{77} |# D1790 **** End of %DISPLAY | |ENDPROGRAM t2381 |### E6961 Unresolved external/imported symbol "Glb3". |### E6961 Unresolved external/imported symbol "Ext6". |### E6961 Unresolved external/imported symbol "Ext7". |### E6961 Unresolved external/imported symbol "Ext8". |### E6961 Unresolved external/imported symbol "Ext9". |### E7733 Absolute relocation at [DATA]:00000008 is not resolvable in this program format. |### E7733 Absolute relocation at [DATA]:0000000C is not resolvable in this program format. | **** ListGlobals "t2381.bin",Global=0,Public=5,Extern=5,eXport=0,Import=0 | Ext6,[Ext6]:00000000h,VA=00000000h,scope='E' | Ext7,[Ext7]:00000000h,VA=00000000h,scope='E' | Ext8,[Ext8]:00000000h,VA=00000000h,scope='E' | Ext9,[Ext9]:00000000h,VA=00000000h,scope='E' | Glb1,[COMGROUP]:00000000h,VA=00000000h,scope='P' | Glb2,[COMGROUP]:00000002h,VA=00000002h,scope='P' | Glb3,[Glb3]:00000000h,VA=00000000h,scope='E' | Pub4,[COMGROUP]:00000004h,VA=00000004h,scope='P' | Pub5,[COMGROUP]:00000006h,VA=00000006h,scope='P' | Pub6,[COMGROUP]:0000000Ah,VA=0000000Ah,scope='P'`

Expected messages t2381.out
  `I0180 Assembling source file "t2381.htm". I0270 Assembling source "t2381". I0310 Assembling source pass 1. D1400 **** %DISPLAY Symbols=* "t2381.htm"{79} D1450 BSS,[BSS]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t2381.htm"{79} D1450 CODE,[CODE]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t2381.htm"{79} D1450 COMGROUP,[COMGROUP]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t2381.htm"{79} D1450 DATA,[DATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t2381.htm"{79} D1450 RODATA,[RODATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t2381.htm"{79} D1450 STACK,[STACK]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src= "t2381.htm"{79} D1790 **** End of %DISPLAY "t2381.htm"{79} I0330 Assembling source pass 2 - final. I0470 Assembling program "t2381". "t2381.htm"{64} I0510 Assembling program pass 1. "t2381.htm"{64} D1400 **** %DISPLAY Symbols=* "t2381.htm"{79} D1450 BSS,[BSS]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 CODE,[CODE]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 COMGROUP,[COMGROUP]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 DATA,[DATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 Ext6,[Ext6]:00000000h,type='A',size=0,scope='E',ref='N',fix=N,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext7,[Ext7]:00000000h,type='A',size=0,scope='E',ref='N',fix=N,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext8,[Ext8]:00000000h,type='A',size=0,scope='E',ref='Y',fix=N,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext9,[DATA]:00000000h,type='?',size=0,scope='G',ref='Y',fix=N,src="t2381.htm"{78} "t2381.htm"{79} D1450 Glb1,[DATA]:00000000h,type='W',size=2,scope='G',ref='N',fix=N,src="t2381.htm"{66} "t2381.htm"{79} D1450 Glb2,[DATA]:00000002h,type='W',size=2,scope='G',ref='N',fix=N,src="t2381.htm"{66} "t2381.htm"{79} D1450 Glb3,[]:00000000h,type=' ',size=0,scope='G',ref='N',fix=N,src="t2381.htm"{66} "t2381.htm"{79} D1450 Pub4,[DATA]:00000004h,type='W',size=2,scope='P',ref='N',fix=N,src="t2381.htm"{67} "t2381.htm"{79} D1450 Pub5,[DATA]:00000006h,type='W',size=2,scope='P',ref='N',fix=N,src="t2381.htm"{67} "t2381.htm"{79} D1450 Pub6,[DATA]:0000000Ah,type='W',size=2,scope='G',ref='N',fix=N,src="t2381.htm"{77} "t2381.htm"{79} D1450 RODATA,[RODATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 STACK,[STACK]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1790 **** End of %DISPLAY "t2381.htm"{79} I0510 Assembling program pass 2. "t2381.htm"{64} D1400 **** %DISPLAY Symbols=* "t2381.htm"{79} D1450 BSS,[BSS]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 CODE,[CODE]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 COMGROUP,[COMGROUP]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 DATA,[DATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 Ext6,[Ext6]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext7,[Ext7]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext8,[Ext8]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext9,[Ext9]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t2381.htm"{78} "t2381.htm"{79} D1450 Glb1,[DATA]:00000000h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{66} "t2381.htm"{79} D1450 Glb2,[DATA]:00000002h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{66} "t2381.htm"{79} D1450 Glb3,[Glb3]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{66} "t2381.htm"{79} D1450 Pub4,[DATA]:00000004h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{67} "t2381.htm"{79} D1450 Pub5,[DATA]:00000006h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{67} "t2381.htm"{79} D1450 Pub6,[DATA]:0000000Ah,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{77} "t2381.htm"{79} D1450 RODATA,[RODATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 STACK,[STACK]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1790 **** End of %DISPLAY "t2381.htm"{79} I0530 Assembling program pass 3 - final. "t2381.htm"{64} D1400 **** %DISPLAY Symbols=* "t2381.htm"{79} D1450 COMGROUP,[COMGROUP]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 DATA,[DATA]:00000000h,type='A',size=0,scope='S',ref='N',fix=Y,src="t2381.htm"{64} "t2381.htm"{79} D1450 Ext6,[Ext6]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext7,[Ext7]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext8,[Ext8]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t2381.htm"{68} "t2381.htm"{79} D1450 Ext9,[Ext9]:00000000h,type='A',size=0,scope='E',ref='Y',fix=Y,src="t2381.htm"{78} "t2381.htm"{79} D1450 Glb1,[DATA]:00000000h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{66} "t2381.htm"{79} D1450 Glb2,[DATA]:00000002h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{66} "t2381.htm"{79} D1450 Glb3,[Glb3]:00000000h,type='A',size=0,scope='E',ref='N',fix=Y,src="t2381.htm"{66} "t2381.htm"{79} D1450 Pub4,[DATA]:00000004h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{67} "t2381.htm"{79} D1450 Pub5,[DATA]:00000006h,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{67} "t2381.htm"{79} D1450 Pub6,[DATA]:0000000Ah,type='W',size=2,scope='P',ref='N',fix=Y,src="t2381.htm"{77} "t2381.htm"{79} D1790 **** End of %DISPLAY "t2381.htm"{79} E6961 Unresolved external/imported symbol "Glb3". "t2381.htm"{94} E6961 Unresolved external/imported symbol "Ext6". "t2381.htm"{94} E6961 Unresolved external/imported symbol "Ext7". "t2381.htm"{94} E6961 Unresolved external/imported symbol "Ext8". "t2381.htm"{94} E6961 Unresolved external/imported symbol "Ext9". "t2381.htm"{94} E7733 Absolute relocation at [DATA]:00000008 is not resolvable in this program format. "t2381.htm"{94} E7733 Absolute relocation at [DATA]:0000000C is not resolvable in this program format. "t2381.htm"{94} I0660 16bit TINY BIN file "t2381.bin" created, size=14. "t2381.htm"{94} I0650 Program "t2381" assembled in 3 passes with errorlevel 7. "t2381.htm"{94} I0750 Source "t2381" (201 lines) assembled in 2 passes with errorlevel 7. I0860 Listing file "t2381.htm.lst" created, size=3426. I0990 EuroAssembler terminated with errorlevel 7.`

Expected output file t2381. bin

      0000: 11 11 22 22 44 44 55 55 00 00 66 66 00 00        ··""DDUU°°ff°°

▲Back to the top▲