1 /* Begin include file alm_list_beads.incl.pl1. */
 2 /* Created 19 November 1970, R H Campbell. */
 3 /* Modified 25 November 1970, R H Campbell. */
 4 /* Added entry_bead_ptr to external_definition_bead for new object segment format, 30 April 1972, R F Mabee. */
 5 /* Last modified on 04/30/72 at 23:40:00 by R F Mabee. */
 6 
 7  declare  1 acc based aligned,                                        /* ACC format string for symbol name. */
 8             2 lg bit (9) unaligned,                                   /* The length. */
 9             2 cs character (31) unaligned;                            /* The string. */
10 
11  declare  1 call_out_bead based aligned,                              /* Mastermode callout link list bead. */
12             2 (kind, next) bit (18) unaligned,                        /* Kind of bead (3), rel ptr to next bead. */
13             2 (expression, modifier) bit (18) unaligned,              /* Rel ptr to expression bead, modifier. */
14             2 (type_pair, transfer_vector_no) bit (18) unaligned,     /* Rel ptr to type pair bead, ? */
15             2 (call_pc, crh) bit (18) unaligned,                      /* Location of call, ? */
16             2 (clh, inhibit) bit (18) unaligned;                      /* ? inhibit bit. */
17 
18  declare  1 entry_bead based aligned,                                 /* Entry interlude link list bead. */
19             2 (kind, next) bit (18) unaligned,                        /* Kind of bead (2), rel ptr to next bead. */
20             2 (link_no, transfer_vector_no) bit (18) unaligned,       /* ? */
21             2 (transfer_vector, inhibit) bit (18) unaligned;          /* Rel ptr to transfer vector bead, inhibit bit. */
22 
23  declare  1 expression_bead based aligned,                            /* Expression list bead. */
24             2 (location, next) bit (18) unaligned,                    /* Location of output expression word, rel ptr to next bead. */
25             2 (type_pair, expression) bit (18) unaligned,             /* Rel ptr to type pair bead, expression value. */
26             2 (clh, location_counter) bit (18) unaligned;             /* ? */
27 
28  declare  1 external_definition_bead based aligned,                   /* External definition list bead. */
29             2 (name, next) bit (18) unaligned,                        /* Rel ptr to name list bead, rel ptr to next bead. */
30             2 (location, class) bit (18) unaligned,                   /* ? */
31             2 (trap, location_counter) bit (18) unaligned,            /* Rel ptr to trap list bead, ? */
32             2 entry_bead_ptr bit (18) unaligned;                      /* Non-zero if defines entry. */
33 
34  declare  1 link_bead based aligned,                                  /* Element of link list. */
35             2 (kind, next) bit (18) unaligned,                        /* Kind of bead (1), rel ptr to next bead. */
36             2 (expression, modifier) bit (18) unaligned;              /* Rel ptr to expression bead, modifier field. */
37 
38  declare  1 literal_bead based aligned,                               /* Literal list bead. */
39             2 (location, next) bit (18) unaligned,                    /* "Load address" of literal, rel ptr to next bead. */
40             2 (location_counters, size) bit (18) unaligned,           /* Rel ptr to location counter rel ptrs, size in words. */
41             2 words (10),                                             /* The literal. */
42               3 (left, right) bit (18) unaligned;                     /* Separate relocatable halves. */
43 
44  declare  1 location_counter_bead based aligned,                      /* Symbol table bucket list bead for location counter name. */
45             2 (symbol, next) bit (18) unaligned,                      /* Rel ptr to symbol name, rel ptr to next bead. */
46             2 (flags, value) bit (18) unaligned,                      /* Symbol flags, current value. */
47             2 (left_join, right_join) bit (18) unaligned,             /* Rel ptrs to joined location counter beads. */
48             2 (origin, max_value) bit (18) unaligned,                 /* Lowest value, highest value. */
49             2 (mod_value, section) bit (18) unaligned;                /* Indicator for rounding origin, section in which it occurs. */
50 
51  declare  1 location_counters (10) based aligned,                     /* Location counter rel ptrs for relocatable literals. */
52             2 (left, right) bit (18) unaligned;                       /* One for each half word. */
53 
54  declare  1 name_bead based aligned,                                  /* Name list bead. */
55             2 (name, next) bit (18) unaligned,                        /* Rel ptr to name, rel ptr to next bead. */
56             2 (section, location) bit (18) unaligned;                 /* ? */
57 
58  declare  1 statement_bead based aligned,                             /* "Collation tape" list bead. */
59             2 (value, next) bit (18) unaligned,                       /* Value of current location counter, rel ptr to next bead. */
60             2 flags bit (36),                                         /* Flags for this statement. */
61             2 location_counter bit (18);                              /* Rel ptr to active location counter bead. */
62 
63  declare  1 symbol_bead based aligned,                                /* Symbol table hashcode bucket list bead. */
64             2 (symbol, next) bit (18) unaligned,                      /* Rel ptr to symbol name, rel ptr to next bead. */
65             2 (flags, value) bit (18) unaligned,                      /* Symbol flags, symbol value. */
66             2 location_counter bit (18);                              /* Rel ptr to related location counter bead. */
67 
68  declare  1 transfer_vector_bead based aligned,                       /* Transfer vector list bead. */
69             2 (clh, next) bit (18) unaligned,                         /* ?, rel ptr to next bead. */
70             2 (transfer_vector_no, location) bit (18) unaligned,      /* ? */
71             2 (location_counter, inhibit) bit (18) unaligned;         /* ? inhibit bit. */
72 
73  declare  1 trap_bead based aligned,                                  /* Trap list bead. */
74             2 (location, next) bit (18) unaligned,                    /* Location of output trap word, rel ptr to next bead. */
75             2 (call, argument) bit (18) unaligned;                    /* Rel ptr to call link bead, rel ptr to argument link bead. */
76 
77  declare  1 type_pair_bead based aligned,                             /* Type pair list bead. */
78             2 (location, next) bit (18) unaligned,                    /* Location of output type pair words, rel ptr to next bead. */
79             2 (type, trap) bit (18) unaligned,                        /* Type of link, rel ptr to trap list bead. */
80             2 (segment, symbol) bit (18) unaligned;                   /* Rel ptrs to name list beads for segment, symbol. */
81 
82 /* End of include file alm_list_beads.incl.pl1. */