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

# Test t1648: Attributes of structured symbols in FLAT model

Description
  FLAT binary file statically linked at ImageBase=3000h with declared attributes of symbols from (nested) structures.
Tested procedures
  ExpEval PgmRelocResolve

Source & expected listing t1648.htm.lst
  `| | EUROASM LIST=ON,DUMP=ON,AUTOALIGN=OFF,DUMPALL=OFF,DUMPWIDTH=18,NOWARN=2101 | |t1648 PROGRAM FORMAT=BIN,MODEL=FLAT,WIDTH=16,ImageBase=3000h, \ | | LISTMAP=ON,LISTGLOBALS=OFF |[STRUC_A] |STRUC_A STRUC ; A structure declaration. |0000:.... |.MemA1 D W |0002:........ |.MemA2 D 4*B |0006: |ENDSTRUC STRUC_A ; SIZE# STRUC_A=6. | |;; |[STRUC_B] |STRUC_B STRUC ; Other structure declaration. |0000:........ |.MemB1 D D |0004:.... |.MemB2 D W |0006:..........~|.MemB3 D STRUC_A ; A nested structure. |000C: | ENDSTRUC STRUC_B ; SIZE# STRUC_B=12. | |;; |[DATA] |[DATA] ; Data segment+section. |0000:44444444 | DD 0x4444_4444 ; Void identifier. |0004:0000000000~|Var1 D STRUC_B ; Structured data variable in section [CODE]. | |;; |0010:0C00 | DW SIZE# STRUC_B ; 12. |0012:0600 | DW SIZE# STRUC_B.MemB3 ; 6. |0014:0C00 | DW SIZE# Var1 ; 12. |0016:0200 | DW SIZE# Var1.MemB2 ; 2. |0018:0400 | DW SIZE# Var1.MemB3.MemA2 ; 4. |001A:5300 | DW TYPE# STRUC_B ; 'S'. |001C:4E00 | DW TYPE# STRUC_B.MemB3 ; 'N'. |001E:5300 | DW TYPE# Var1 ; 'S'. |0020:5700 | DW TYPE# Var1.MemB2 ; 'W'. |0022:4200 | DW TYPE# Var1.MemB3.MemA2 ; 'B'. |0024:5300 | DW SCOPE# STRUC_B ; 'S'. |0026:5300 | DW SCOPE# STRUC_B.MemB3 ; 'S'. |0028:5300 | DW SCOPE# Var1 ; 'S'. |002A:5300 | DW SCOPE# Var1.MemB2 ; 'S'. |002C:5300 | DW SCOPE# Var1.MemB3.MemA2 ; 'S'. |002E:0000 | DW OFFSET# STRUC_B ; 0. |0030:0600 | DW OFFSET# STRUC_B.MemB3 ; 6. |0032:0400 | DW OFFSET# Var1 ; 4. |0034:0800 | DW OFFSET# Var1.MemB2 ; 8. |0036:0C00 | DW OFFSET# Var1.MemB3.MemA2 ; 12. |0038:0000 | DW SECTION# STRUC_B ; 0. |003A:0000 | DW SECTION# STRUC_B.MemB3 ; 0. |003C:[0000] | DW SECTION# Var1 ; Relocated at address of section [DATA] = 0x3000. |003E:[0000] | DW SECTION# Var1.MemB2 ; Relocated at address of section [DATA] = 0x3000. |0040:[0000] | DW SECTION# Var1.MemB3.MemA2; Relocated at address of section [DATA] = 0x3000. |0042:0000 | DW SEGMENT# STRUC_B ; 0. |0044:0000 | DW SEGMENT# STRUC_B.MemB3 ; 0. |0046:[0000] | DW SEGMENT# Var1 ; Relocated at address of segment [DATA] = 0x3000. |0048:[0000] | DW SEGMENT# Var1.MemB2 ; Relocated at address of segment [DATA] = 0x3000. |004A:[0000] | DW SEGMENT# Var1.MemB3.MemA2; Relocated at address of segment [DATA] = 0x3000. |004C:0000 | DW GROUP# STRUC_B ; 0. |004E:0000 | DW GROUP# STRUC_B.MemB3 ; 0. |0050:[0000] | DW GROUP# Var1 ; Relocated at address of group [DATA] = 0x3000. |0052:[0000] | DW GROUP# Var1.MemB2 ; Relocated at address of group [DATA] = 0x3000. |0054:[0000] | DW GROUP# Var1.MemB3.MemA2 ; Relocated at address of group [DATA] = 0x3000. |0056:0000 | DW PARA# STRUC_B ; 0. |0058:0000 | DW PARA# STRUC_B.MemB3 ; 0. |005A:{0000} | DW PARA# Var1 ; Relocated at paragraph address of group [DATA] in FLAT model is 0. |005C:{0000} | DW PARA# Var1.MemB2 ; Relocated at paragraph address of group [DATA] in FLAT model is 0. |005E:{0000} | DW PARA# Var1.MemB3.MemA2 ; Relocated at paragraph address of group [DATA] in FLAT model is 0. | |ENDPROGRAM t1648 | **** ListMap "t1648.bin",model=FLAT,groups=0,segments=1,entry=,stack= | [DATA],FA=00000000h,VA=00003000h,size=00000060h=96,width=16,align=0010h,purpose=DATA`

Expected messages t1648.out
  `I0180 Assembling source file "t1648.htm". I0270 Assembling source "t1648". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t1648". "t1648.htm"{55} I0510 Assembling program pass 1. "t1648.htm"{55} I0510 Assembling program pass 2. "t1648.htm"{55} I0530 Assembling program pass 3 - final. "t1648.htm"{55} I0660 16bit FLAT BIN file "t1648.bin" created, size=96. "t1648.htm"{112} I0650 Program "t1648" assembled in 3 passes with errorlevel 0. "t1648.htm"{112} I0750 Source "t1648" (143 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t1648.htm.lst" created, size=4001. I0990 EuroAssembler terminated with errorlevel 0.`

Expected output file t1648. bin

      0000: 44 44 44 44 00 00 00 00 00 00 00 00 00 00 00 00  DDDD°°°°°°°°°°°°
      0010: 0C 00 06 00 0C 00 02 00 04 00 53 00 4E 00 53 00  ·°·°·°·°·°S°N°S°
      0020: 57 00 42 00 53 00 53 00 53 00 53 00 53 00 00 00  W°B°S°S°S°S°S°°°
      0030: 06 00 04 00 08 00 0C 00 00 00 00 00 00 30 00 30  ·°·°·°·°°°°°°0°0
      0040: 00 30 00 00 00 00 00 30 00 30 00 30 00 00 00 00  °0°°°°°0°0°0°°°°
      0050: 00 30 00 30 00 30 00 00 00 00 00 00 00 00 00 00  °0°0°0°°°°°°°°°°

▲Back to the top▲