1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 dcl 1 break_segment based (break_segp) aligned,
23 2 version fixed bin initial (2),
24 2 name character (8) initial ("breakseg"),
25 2 upper_bound bit (18) unal,
26 2 word_count bit (18) unal,
27 2 first_free_item bit (18) unal,
28 2 first_procedure_entry bit (18) unal,
29 2 first_symbol bit (18) unal,
30 2 first_macro bit (18) unal;
31
32 dcl break_segp pointer;
33
34 dcl 1 break_map based (bmp) aligned,
35 2 version fixed bin initial (2),
36 2 name character (8) initial ("breakmap"),
37 2 upper_bound bit (18) unal,
38 2 word_count bit (18) unal,
39 2 first_free_item bit (18) unal,
40 2 symbol_header bit (18) unal,
41 2 initial_word_count fixed bin (35),
42 2 identifier fixed bin (71),
43 2 map_sequence pointer;
44
45
46 dcl 1 item based aligned,
47 2 item_type fixed bin,
48 2 unused bit (18) unaligned,
49 2 chain bit (18) unaligned,
50 2 size fixed bin;
51
52 dcl 1 free_item based aligned,
53 2 size fixed bin,
54 2 unused bit (18) unaligned,
55 2 chain bit (18) unaligned,
56 2 zeros bit (0);
57
58 dcl 1 procedure_entry based (ent) aligned,
59 2 item_type fixed bin initial (PROCEDURE_ITEM),
60 2 unused bit (18) unaligned,
61 2 chain bit (18) unaligned,
62 2 size fixed bin,
63 2 directory character (168) unal,
64 2 entry character (32) unal,
65 2 segname character (32) unal,
66 2 pad fixed bin (71),
67 2 time_stamp fixed bin (71),
68 2 first_statement bit (18) unal,
69 2 first_symbol bit (18) unal,
70 2 first_macro bit (18) unal,
71 2 first_debug_break bit (18) unal, debug
72 2 break_map bit (18) unal,
73 2 statement_map bit (18) unal,
74 2 statement_map_size bit (18) unal,
75 2 source_map bit (18) unal,
76 2 symbol_header bit (18) unal,
77 2 bounds aligned,
78 3 text_bounds,
79 4 start fixed bin (35),
80 4 end fixed bin (35),
81 3 symbol_bounds,
82 4 start fixed bin (35),
83 4 end fixed bin (35),
84 2 language_type fixed bin;
85
86 dcl 1 statement_item based (stp) aligned,
87 2 item_type fixed bin initial (STATEMENT_ITEM),
88 2 unused bit (18) unaligned,
89 2 chain bit (18) unaligned,
90 2 size fixed bin,
91 2 identifier fixed bin (71),
92 2 proc_entry bit (18) unal,
93 2 number fixed bin,
94 2 slots (0:1) bit (18);
95
96
97
98
99
100
101
102 dcl 1 macro_item based aligned,
103 2 item_type fixed bin initial (MACRO_ITEM),
104 2 unused bit (18) unaligned,
105 2 chain bit (18) unaligned,
106 2 size fixed bin,
107 2 name character (32),
108 2 count fixed bin,
109 2 command_list character (0);
110
111
112 dcl 1 break_slot_before aligned based (before_slot_ptr),
113 2 item_type fixed bin init (BREAK_ITEM),
114 2 breakmap_header_offset bit (18) unal,
115 2 statement_item_offset bit (18) unal,
116 2 size fixed bin,
117 2 sequence,
118 3 word0 bit (36) init (SPRI_wd),
119 3 word1,
120 4 map_seq_offset bit (18) unal,
121 4 opcode bit (18) unal init (TSPLB_code),
122 3 word2,
123 4 slot_offset bit (18) unal,
124 4 opcode bit (18) unal init (NOP_code),
125 3 moved_instruction bit (36),
126 3 moved_descs (3),
127 4 offset bit (18) unal init (0),
128 4 opcode bit (18) unal init (NOP_code),
129 3 return,
130 4 offset bit (18) unal,
131 4 opcode bit (18) unal init (TRA_code),
132 2 old_instruction bit (36),
133 2 symbol_block_offset bit (18) unal,
134 2 location bit (18) unal,
135 2 type fixed bin init (BREAK_BEFORE),
136 2 count fixed bin,
137 2 command_list char (command_list_size refer (break_slot_before.count));
138
139 dcl 1 break_slot_after aligned based (after_slot_ptr),
140 2 item_type fixed bin init (BREAK_ITEM),
141 2 breakmap_header_offset bit (18) unal,
142 2 statement_item_offset bit (18) unal,
143 2 size fixed bin,
144 2 sequence,
145 3 moved_instruction bit (36),
146 3 moved_descs (3),
147 4 offset bit (18) unal init ((3)0),
148 4 opcode bit (18) unal init ((3) NOP_code),
149 3 word4 bit (36) init (SPRI_wd),
150 3 word5,
151 4 map_seq_offset bit (18) unal,
152 4 opcode bit (18) unal init (TSPLB_code),
153 3 word6,
154 4 slot_offset bit (18) unal,
155 4 opcode bit (18) unal init (NOP_code),
156 3 return,
157 4 offset bit (18) unal,
158 4 opcode bit (18) unal init (TRA_code),
159 2 old_instruction bit (36),
160 2 symbol_block_offset bit (18) unal,
161 2 location bit (18) unal,
162 2 type fixed bin init (BREAK_AFTER),
163 2 count fixed bin,
164 2 command_list char (command_list_size refer (break_slot_before.count));
165
166
167
168 dcl size_of_after_sequence fixed bin internal static init (8) options (constant);
169 dcl size_of_before_sequence fixed bin internal static init (8) options (constant);
170
171
172 dcl (BREAK_ITEM init (0),
173 STATEMENT_ITEM init (1),
174 SYMBOL_ITEM init (2),
175 MACRO_ITEM init (3),
176 PROCEDURE_ITEM init (4)) fixed bin internal static options (constant);
177
178 dcl command_list_size fixed bin (21);
179
180 dcl (ent, bmp, stp, before_slot_ptr, after_slot_ptr) ptr;
181
182 dcl SPRI_wd bit (36) init ("600022254120"b3);
183
184 dcl (NOP_code init ("011003"b3),
185 TSPLB_code init ("671000"b3),
186 TRA_code init ("710000"b3)) internal static options (constant) bit (18) unal;
187
188
189