z80での例を示す。


aaa.a

 org 100h

 ld   hl,r@left ;変数の場合はメンバーのアドレス
 defw  0ffffh
 ld   hl,rect@left ;構造体の場合はメンバーのオフセット
 defw  0ffffh
 ld   hl,dr@r2@top ;変数の場合はメンバーのアドレス
 defw  0ffffh
 ld   hl,drect@r2@top ;構造体の場合はメンバーのオフセット

 org 200h
r: defst rect ;変数rをrect型で宣言

 org 300h
dr: defst drect ;変数drをdrect型で宣言

rect struct ;構造体rectを定義
 top:  defw 1 ;メンバーに初期値を設定できる
 left: defw 2 ;defsでサイズの確保をする事もできる
 bottom: defw 3
 right: defw 4
ends

drect struct ;構造体drectを定義
 r1: defst rect ;メンバーに構造体を使用できる
 r2: defst rect
ends

 end


aaa.hex

:12010000210202FFFF210200FFFF210803FFFF21080056
:080200000100020003000400EC
:1003000001000200030004000100020003000400D9
:00000001FF


aaa.sym

#____________Label Name_________________Address____________
# r                 : 0200h
#----------------------------------------------------------
File "iMac:Desktop Folder:aaa:aaa.a"; Line 12
#----------------------------------------------------------

#____________Label Name_________________Address____________
# dr                 : 0300h
#----------------------------------------------------------
File "iMac:Desktop Folder:aaa:aaa.a"; Line 15
#----------------------------------------------------------


もどる