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. */