* .struct * .union * .tag REAL_REC .struct ; stag = REAL_REC NUM .int ; NUM = 0 DEN .int ; DEN = 1 REAL_LEN .endstruct ; REAL_LEN = 2 add REAL + REAL_REC.DEN, a ; 000000 0001 .bss REAL, REAL_LEN ; 000000 0000 (len = 2) CPLX_REC .struct REALI .tag REAL_REC IMAGI .tag REAL_REC CPLX_LEN .endstruct ; apply the CPLX_REC structure format to .bss var COMPLEX .bss COMPLEX, CPLX_LEN ; 000002 0000 (len = 4) COMPLEX .tag CPLX_REC add COMPLEX.REALI, a ; 000001 0002 stl a, COMPLEX.REALI ; 000002 8002 add COMPLEX.IMAGI, b ; 000003 0104 ; anonymous struct; symbols become global .struct X .int Y .int Z .int .endstruct BIT_REC .struct STREAM .string 64 ; BIT7 .field 7 ; bit7 = 64 BIT9 .field 9 ; bit9 = 64 BIT10 .field 10 ; bit10 = 65 X_INT .int ; x_int = 66 BIT_LEN .endstruct ; bit_len = 67 .bss BITS, BIT_LEN ; 000006 0000 (len = 67) BITS .tag BIT_REC add BITS.BIT7,a ; 000004 0046 and #007Fh, a ; 000005 f030 ; 000006 007f .end