| 1 | * .struct |
| 2 | * .union |
| 3 | * .tag |
| 4 | REAL_REC .struct ; stag = REAL_REC |
| 5 | NUM .int ; NUM = 0 |
| 6 | DEN .int ; DEN = 1 |
| 7 | REAL_LEN .endstruct ; REAL_LEN = 2 |
| 8 | |
| 9 | add REAL + REAL_REC.DEN, a ; 000000 0001 |
| 10 | .bss REAL, REAL_LEN ; 000000 0000 (len = 2) |
| 11 | |
| 12 | CPLX_REC .struct |
| 13 | REALI .tag REAL_REC |
| 14 | IMAGI .tag REAL_REC |
| 15 | CPLX_LEN .endstruct |
| 16 | ; apply the CPLX_REC structure format to .bss var COMPLEX |
| 17 | |
| 18 | .bss COMPLEX, CPLX_LEN ; 000002 0000 (len = 4) |
| 19 | COMPLEX .tag CPLX_REC |
| 20 | add COMPLEX.REALI, a ; 000001 0002 |
| 21 | stl a, COMPLEX.REALI ; 000002 8002 |
| 22 | add COMPLEX.IMAGI, b ; 000003 0104 |
| 23 | |
| 24 | ; anonymous struct; symbols become global |
| 25 | .struct |
| 26 | X .int |
| 27 | Y .int |
| 28 | Z .int |
| 29 | .endstruct |
| 30 | |
| 31 | BIT_REC .struct |
| 32 | STREAM .string 64 ; |
| 33 | BIT7 .field 7 ; bit7 = 64 |
| 34 | BIT9 .field 9 ; bit9 = 64 |
| 35 | BIT10 .field 10 ; bit10 = 65 |
| 36 | X_INT .int ; x_int = 66 |
| 37 | BIT_LEN .endstruct ; bit_len = 67 |
| 38 | |
| 39 | .bss BITS, BIT_LEN ; 000006 0000 (len = 67) |
| 40 | BITS .tag BIT_REC |
| 41 | add BITS.BIT7,a ; 000004 0046 |
| 42 | and #007Fh, a ; 000005 f030 |
| 43 | ; 000006 007f |
| 44 | .end |