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

# Test t1695: Attributes chain

Description
  Attributes of numeric and address symbols in SMALL model. Attributes applied on other attribute.
Tested procedures
  ExpEval

Source & expected listing t1695.htm.lst
  `| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=16,AUTOSEGMENT=ON | |t1695 PROGRAM FORMAT=BIN,MODEL=SMALL,WIDTH=16, \ | | LISTMAP=ON,LISTGLOBALS=OFF,IMAGEBASE=3000h |[]:2222 |NumSym: EQU 0x2222 ; Definition of a numeric symbol. | |[DGROUP] GROUP [DATA] ; Linked at 3000h. |[DATA] |[DATA] SEGMENT ; Linked at 3000h. |0000:11111111 | DD 0x1111_1111 ; Identificator in the dumped output file. |0004:33333333 |BaseSym: DD 0x3333_3333 ; [DATA]:0004h linked at 3004h. |[DSECT] |[DSECT] ; Section in [DATA]:0010h linked at 3010h. |0000:22222222 | DD 0x2222_2222 ; Identificator in the dumped output file. |0004:4444 |DataSym: DW 0x4444 ; [DSECT]:0004h alias [DATA]:0014h linked at 3014h. |0006:00000000~| ALIGN 16 |0010:0000 | DW SIZE# 0x5555 ; 0. |0012:0000 | DW SIZE# NumSym: ; 0. |0014:0400 | DW SIZE# BaseSym: ; 4. |0016:0200 | DW SIZE# DataSym: ; 2. |0018:0000 | DW SIZE# [0x5555+BP] ; 0. |001A:0000 | DW SIZE# [NumSym+BP] ; 0. |001C:0400 | DW SIZE# [BaseSym+BP] ; 4. |001E:0200 | DW SIZE# [DataSym+BP] ; 2. | |;; |0020:4E00 | DW TYPE# 0x5555 ; 'N'. |0022:4E00 | DW TYPE# NumSym: ; 'N'. |0024:4400 | DW TYPE# BaseSym: ; 'D'. |0026:5700 | DW TYPE# DataSym: ; 'W'. |0028:4D00 | DW TYPE# [0x5555+SI] ; 'M'. |002A:4E00 | DW TYPE# [NumSym+SI] ; 'N'. |002C:4400 | DW TYPE# [BaseSym+SI] ; 'D'. |002E:5700 | DW TYPE# [DataSym+SI] ; 'W'. | |;; |0030:0000 | DW SECTION# 0x5555 ; 0. |0032:0000 | DW SECTION# NumSym: ; 0. |0034:[0000] | DW SECTION# BaseSym: ; [DATA]:0 assumed at DS:0000h. |0036:[0000] | DW SECTION# DataSym: ; [DSECT]:0 assumed at DS:0010h. |0038:0000 | DW SECTION# [0x5555+SI] ; 0. |003A:0000 | DW SECTION# [NumSym+SI] ; 0. |003C:[0000] | DW SECTION# [BaseSym+SI] ; [DATA]:0 assumed at DS:0000h. |003E:[0000] | DW SECTION# [DataSym+SI] ; [DSECT]:0 = [DATA]:0010h assumed at DS:0010h. | |;; |0040:0000 | DW SEGMENT# 0x5555 ; 0. |0042:0000 | DW SEGMENT# NumSym: ; 0. |0044:[0000] | DW SEGMENT# BaseSym: ; [DATA]:0 assumed at DS:0000h. |0046:[0000] | DW SEGMENT# DataSym: ; [DATA]:0 assumed at DS:0000h. |0048:0000 | DW SEGMENT# [0x5555+SI] ; 0. |004A:0000 | DW SEGMENT# [NumSym+SI] ; 0. |004C:[0000] | DW SEGMENT# [BaseSym+SI] ; [DATA]:0 assumed at DS:0000h. |004E:[0000] | DW SEGMENT# [DataSym+SI] ; [DATA]:0 assumed at DS:0000h. | |;; |0050:0000 | DW GROUP# 0x5555 ; 0. |0052:0000 | DW GROUP# NumSym: ; 0. |0054:[0000] | DW GROUP# BaseSym: ; [DGROUP]:0 assumed at DS:0000h. |0056:[0000] | DW GROUP# DataSym: ; [DGROUP]:0 assumed at DS:0000h. |0058:0000 | DW GROUP# [0x5555+SI] ; 0. |005A:0000 | DW GROUP# [NumSym+SI] ; 0. |005C:[0000] | DW GROUP# [BaseSym+SI] ; [DGROUP]:0 assumed at DS:0000h. |005E:[0000] | DW GROUP# [DataSym+SI] ; [DGROUP]:0 assumed at DS:0000h. | |;; |0060:0000 | DW PARA# 0x5555 ; 0. |0062:0000 | DW PARA# NumSym: ; 0. |0064:{0000} | DW PARA# BaseSym: ; [DGROUP]>>4 linked as 0300h. |0066:{0000} | DW PARA# DataSym: ; [DGROUP]>>4 linked as 0300h. |0068:0000 | DW PARA# [0x5555+SI] ; 0. |006A:0000 | DW PARA# [NumSym+SI] ; 0. |006C:{0000} | DW PARA# [BaseSym+SI] ; [DGROUP]>>4 linked as 0300h. |006E:{0000} | DW PARA# [DataSym+SI] ; [DGROUP]>>4 linked as 0300h. | |;; | |;; Chained attributes can specify if the symbol is numeric or address. |0070:4E00 | DW TYPE# (SECTION# 0x5555) ; 'N'. |0072:4E00 | DW TYPE# (SECTION# NumSym:) ; 'N'. |0074:4100 | DW TYPE# (SECTION# BaseSym:) ; 'A'. |0076:4100 | DW TYPE# (SECTION# DataSym:) ; 'A'. |0078:4E00 | DW TYPE# (SECTION# [0x5555+SI]) ; 'N'. |007A:4E00 | DW TYPE# (SECTION# [NumSym+SI]) ; 'N'. |007C:4100 | DW TYPE# (SECTION# [BaseSym+SI]) ; 'A'. |007E:4100 | DW TYPE# (SECTION# [DataSym+SI]) ; 'A'. | |;; |0080:4E00 | DW TYPE# (SEGMENT# 0x5555) ; 'N'. |0082:4E00 | DW TYPE# (SEGMENT# NumSym:) ; 'N'. |0084:4100 | DW TYPE# (SEGMENT# BaseSym:) ; 'A'. |0086:4100 | DW TYPE# (SEGMENT# DataSym:) ; 'A'. |0088:4E00 | DW TYPE# (SEGMENT# [0x5555+SI]) ; 'N'. |008A:4E00 | DW TYPE# (SEGMENT# [NumSym+SI]) ; 'N'. |008C:4100 | DW TYPE# (SEGMENT# [BaseSym+SI]) ; 'A'. |008E:4100 | DW TYPE# (SEGMENT# [DataSym+SI]) ; 'A'. | | ENDPROGRAM t1695 | **** ListMap "t1695.bin",model=SMALL,groups=1,segments=1,entry=,stack= | [DGROUP],FA=00000000h,VA=00003000h,size=000000A0h=160,group [DATA] | [DATA],FA=00000000h,VA=00003000h,size=000000A0h=160,width=16,align=0010h,purpose=DATA`

Expected messages t1695.out
  `I0180 Assembling source file "t1695.htm". I0270 Assembling source "t1695". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t1695". "t1695.htm"{53} I0510 Assembling program pass 1. "t1695.htm"{53} I0510 Assembling program pass 2. "t1695.htm"{53} I0530 Assembling program pass 3 - final. "t1695.htm"{53} I0660 16bit SMALL BIN file "t1695.bin" created, size=160. "t1695.htm"{136} I0650 Program "t1695" assembled in 3 passes with errorlevel 0. "t1695.htm"{136} I0750 Source "t1695" (172 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t1695.htm.lst" created, size=5158. I0990 EuroAssembler terminated with errorlevel 0.`

Expected output file t1695. bin

      0000: 11 11 11 11 33 33 33 33 00 00 00 00 00 00 00 00  ····3333°°°°°°°°
      0010: 22 22 22 22 44 44 00 00 00 00 00 00 00 00 00 00  """"DD°°°°°°°°°°
      0020: 00 00 00 00 04 00 02 00 00 00 00 00 04 00 02 00  °°°°·°·°°°°°·°·°
      0030: 4E 00 4E 00 44 00 57 00 4D 00 4E 00 44 00 57 00  N°N°D°W°M°N°D°W°
      0040: 00 00 00 00 00 00 10 00 00 00 00 00 00 00 10 00  °°°°°°·°°°°°°°·°
      0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
      0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
      0070: 00 00 00 00 00 03 00 03 00 00 00 00 00 03 00 03  °°°°°·°·°°°°°·°·
      0080: 4E 00 4E 00 41 00 41 00 4E 00 4E 00 41 00 41 00  N°N°A°A°N°N°A°A°
      0090: 4E 00 4E 00 41 00 41 00 4E 00 4E 00 41 00 41 00  N°N°A°A°N°N°A°A°

▲Back to the top▲