1 " ******************************************************
2 " * *
3 " * *
4 " * Copyright c 1972 by Massachusetts Institute of *
5 " * Technology and Honeywell Information Systems, Inc. *
6 " * *
7 " * *
8 " ******************************************************
9
10 "
11 " Modified 770617 by PG to add clock, vclock, and stacq.
12 " Modified 780329 by PCK to add stackframeptr, stackbaseptr, environmentptr, & codeptr builtins
13 " Modified 780828 by PG to delete pos_dif_fun
14 " Modified 25 Apr 1979 by PCK to implement 4-bit decimal. digit_to_bit was added.
15 " Modified 25 Jul 1979 by PCK to implement rank and byte builtins.
16 " Modified 790807 by PG to delete jump_three_way.
17 " Modified 820726 BIM wordno, segno
18 "
19 " Format of opcode_info entries:
20 "
21 " dcl 1 op_info aligned based,
22 " 2 action1 bit 6 unal,
23 " 2 action2 bit 6 unal,
24 " 2 macro bit 18 unal,
25 " 2 delta bit 2 unal,
26 " 2 call_code bit 4 unal;
27 "
28 "
29 name opcode_info
30 segdef opcode_info
31 segdef last_opcode
32 segdef table
33 "
34 opcode_info:
35 "
36 class_0:
37 class_1:
38 vfd 6/5 zero opcode
39 vfd 6/3,6/1 add
40 vfd 6/3,6/1 sub
41 vfd 6/3,6/1 mult
42 vfd 6/3,6/1 div
43 vfd 6/3,6/1 negate
44 vfd 6/3,6/2 exp
45 "
46 class_2:
47 vfd 6/5 unused
48 vfd 6/3,6/3 and_bits
49 vfd 6/3,6/3 or_bits
50 vfd 6/3,6/3 xor_bits
51 vfd 6/3,6/3 not_bits
52 vfd 6/3,6/14 cat_string
53 vfd 6/3,6/33,18/470 bool_fun
54 "
55 class_3:
56 vfd 6/5 unused
57 vfd 6/1 assign
58 vfd 6/1 assign_size_ck
59 vfd 6/3,6/18,18/308 assign_zero
60 vfd 6/4 copy_words
61 vfd 6/4 copy_string
62 vfd 6/4 make_desc
63 vfd 6/1 assign_round
64 vfd 6/1 pack
65 vfd 6/1 unpack
66 "
67 class_4:
68 vfd 6/5 unused
69 vfd 6/5 unused
70 vfd 6/5 unused
71 vfd 6/5 unused
72 vfd 6/3,6/4 less_than
73 vfd 6/3,6/4 greater_than
74 vfd 6/3,6/4 equal
75 vfd 6/3,6/4 not_equal
76 vfd 6/3,6/4 less_or_equal
77 vfd 6/3,6/4 greater_or_equal
78 "
79 class_5:
80 vfd 6/5 unused
81 vfd 6/4 jump
82 vfd 6/4 jump_true
83 vfd 6/4 jump_false
84 vfd 6/4 jump_if_lt
85 vfd 6/4 jump_if_gt
86 vfd 6/4 jump_if_eq
87 vfd 6/4 jump_if_ne
88 vfd 6/4 jump_if_le
89 vfd 6/4 jump_if_ge
90 "
91 class_6:
92 vfd 6/5 unused
93 vfd 6/4 std_arg_list
94 vfd 6/4 unused
95 vfd 6/4 std_call
96 vfd 6/4 unused
97 vfd 6/4 std_entry
98 vfd 6/4 unused
99 vfd 6/4 ex_prologue
100 vfd 6/4 allot_auto
101 vfd 6/6 param_ptr
102 vfd 6/6 param_desc_ptr
103 vfd 6/4 std_return
104 vfd 6/4 allot_ctl
105 vfd 6/4 free_ctl
106 "
107 class_7:
108 vfd 6/5 mod_bit
109 vfd 6/5 mod_byte
110 vfd 6/5 mod_half
111 vfd 6/4 mod_word
112 "
113 class_8:
114 vfd 6/3,6/6,18/108 bit_to_char
115 vfd 6/3,6/6,18/109 bit_to_word
116 vfd 6/3,6/6,18/112 char_to_word
117 vfd 6/3,6/6,18/404 half_to_word
118 vfd 6/3,6/6,18/116 word_to_mod2
119 vfd 6/3,6/6,18/117 word_to_mod4
120 vfd 6/3,6/6,18/118 word_to_mod8
121 vfd 6/3,6/5,18/1 rel_fun
122 vfd 6/3,6/5,18/10 baseno_fun
123 vfd 6/3,6/19,18/284 desc_size
124 vfd 6/5 bit_pointer
125 vfd 6/3,6/15 index_before_fun
126 vfd 6/3,6/15 index_after_fun
127 vfd 6/3,6/25,18/710 verify_ltrim_fun
128 vfd 6/3,6/25,18/711 verify_rtrim_fun
129 vfd 6/3,6/6,18/738 digit_to_bit
130 "
131 class_9:
132 vfd 6/3,6/20,18/522,2/0,4/6 ceil_fun 01001 0000
133 vfd 6/3,6/20,18/525,2/0,4/7 floor_fun 0001
134 vfd 6/3,6/22,18/529,2/0,4/8 round_fun 0010
135 vfd 6/3,6/31,18/209,2/0,4/9 sign_fun 0011
136 vfd 6/3,6/7,18/0,2/0,4/10 abs_fun 0100
137 vfd 6/3,6/8,18/520,2/0,4/11 trunc_fun 0101
138 vfd 6/3,6/37 byte_fun 0110
139 vfd 6/3,6/38 rank_fun 0111
140 vfd 6/3,6/15,18/256 index_rev_fun 1000
141 vfd 6/3,6/25,18/369 search_rev_fun 1001
142 vfd 6/3,6/25,18/368 verify_rev_fun 1010
143 vfd 6/3,6/5,18/2 wordno_fun 1011
144 vfd 6/3,6/5,18/9 segno_fun 1100
145 vfd 6/3,6/5,18/4 bitno_fun 1101
146 vfd 6/3,6/5,18/3 charno_fun 1110
147 "
148 class_10:
149 vfd 6/3,6/15 index_fun
150 vfd 6/3,6/17 off_fun
151 vfd 6/3,6/29,18/399,2/0,4/9 complex_fun
152 vfd 6/3,6/29,18/400,2/0,4/11 conjg_fun
153 vfd 6/3,6/9,18/387,2/1 mod_fun
154 vfd 6/3,6/24,18/534 repeat_fun
155 vfd 6/3,6/25,18/539 verify_fun
156 vfd 6/3,6/26,18/104 translate_fun
157 vfd 6/4 unused
158 vfd 6/3,6/30,18/401,2/0,4/6 real_fun
159 vfd 6/3,6/30,18/402,2/0,4/7 imag_fun
160 vfd 6/3,6/16 length_fun
161 vfd 6/3,6/21,18/271,2/0,4/12 pl1_mod_fun
162 vfd 6/3,6/25,18/540 search_fun
163 vfd 6/3,6/32,18/614 allocation_fun
164 vfd 6/3,6/24,18/547 reverse_fun
165 "
166 class_11:
167 vfd 6/6 addr_fun
168 vfd 6/6 addr_fun_bits
169 vfd 6/6 ptr_fun
170 vfd 6/6 baseptr_fun
171 vfd 6/6 addrel_fun
172 vfd 6/6 codeptr_fun
173 vfd 6/6 environmentptr_fun
174 vfd 6/6 stackbaseptr_fun
175 vfd 6/6 stackframeptr_fun
176 vfd 6/6,6/1 setcharno_fun
177 vfd 6/6,6/2 addcharno_fun
178 vfd 6/6,6/3 setbitno_fun
179 vfd 6/6,6/4 addbitno_fun
180 "
181 class_12:
182 vfd 6/2 min_fun
183 vfd 6/2 max_fun
184 "
185 class_13:
186 vfd 6/4 unused
187 vfd 6/3,6/18,18/533 stack_ptr
188 vfd 6/4 empty_area
189 vfd 6/5 unused
190 vfd 6/4 enable_on
191 vfd 6/4 revert_on
192 vfd 6/4 signal_on
193 vfd 6/3,6/27,18/208 lock_fun
194 vfd 6/3,6/35,18/722 stacq_fun
195 vfd 6/3,6/36,18/723 clock_fun
196 vfd 6/3,6/36,18/724 vclock_fun
197 "
198 class_14:
199 vfd 6/3,6/10,18/246 bound_ck
200 vfd 6/3,6/10,18/263 range_ck
201 vfd 6/4 loop
202 vfd 6/4 join
203 vfd 6/4 allot_based
204 vfd 6/4 free_based
205 "
206 class_15:
207 vfd 6/5 unused
208 vfd 6/4 r_parn
209 vfd 6/4 l_parn
210 vfd 6/4 r_format
211 vfd 6/4 c_format
212 vfd 6/4 f_format
213 vfd 6/4 e_format
214 vfd 6/4 b_format
215 vfd 6/4 a_format
216 vfd 6/4 x_format
217 vfd 6/4 skip_format
218 vfd 6/4 column_format
219 vfd 6/4 page_format
220 vfd 6/4 line_format
221 vfd 6/4 bn_format
222 "
223 class_16:
224 vfd 6/4 get_list_trans
225 vfd 6/4 get_edit_trans
226 vfd 6/4 get_data_trans
227 vfd 6/4 put_list_trans
228 vfd 6/4 put_edit_trans
229 vfd 6/4 put_data_trans
230 vfd 6/4 terminate_trans
231 vfd 6/4 stream_prep
232 vfd 6/4 record_io
233 vfd 6/4 fortran_read
234 vfd 6/4 fortran_write
235 vfd 6/4 ftn_file_manip
236 vfd 6/4 ftn_trans_loop
237 vfd 6/4 put_control
238 vfd 6/4 put_field
239 vfd 6/4 put_field_chk
240 "
241 class_17:
242 vfd 6/5 unused
243 vfd 6/4 return_value
244 vfd 6/4 allot_var
245 vfd 6/4 free_var
246 vfd 6/4 get_file
247 vfd 6/4 get_string
248 vfd 6/4 put_file
249 vfd 6/4 put_string
250 vfd 6/4 open_file
251 vfd 6/4 close_file
252 vfd 6/4 read_file
253 vfd 6/4 write_file
254 vfd 6/4 locate_file
255 vfd 6/4 do_fun
256 vfd 6/4 do_spec
257 "
258 class_18:
259 vfd 6/4 rewrite_file
260 vfd 6/4 delete_file
261 vfd 6/4 unlock_file
262 vfd 6/4 lock_file
263 vfd 6/4 unused
264 vfd 6/4 refer
265 vfd 6/4 prefix_plus
266 vfd 6/4 nop
267 "
268 class_19:
269 vfd 6/3,6/34,18/94 sqrt_fun
270 vfd 6/3,6/34,18/227 sin_fun
271 vfd 6/3,6/34,18/265 sind_fun
272 vfd 6/3,6/34,18/329 cos_fun
273 vfd 6/3,6/34,18/336 cosd_fun
274 vfd 6/3,6/34,18/342 tan_fun
275 vfd 6/3,6/34,18/422 tand_fun
276 vfd 6/3,6/34,18/424 asin_fun
277 vfd 6/3,6/34,18/426 asind_fun
278 vfd 6/3,6/34,18/428 acos_fun
279 vfd 6/3,6/34,18/430 acosd_fun
280 vfd 6/3,6/34,18/432 atan_fun
281 vfd 6/3,6/34,18/434 atand_fun
282 vfd 6/3,6/34,18/477 log2_fun
283 vfd 6/3,6/34,18/482 log_fun
284 vfd 6/3,6/34,18/496 log10_fun
285 "
286 class_20:
287 vfd 6/3,6/34,18/500 exp_fun
288 "
289 last_opcode:
290 vfd 36/* all of opcode_info before this line
291 "
292 table:
293 zero 0,class_0-class_0
294 zero 0,class_1-class_0
295 zero 0,class_2-class_0
296 zero 0,class_3-class_0
297 zero 0,class_4-class_0
298 zero 0,class_5-class_0
299 zero 0,class_6-class_0
300 zero 0,class_7-class_0
301 zero 0,class_8-class_0
302 zero 0,class_9-class_0
303 zero 0,class_10-class_0
304 zero 0,class_11-class_0
305 zero 0,class_12-class_0
306 zero 0,class_13-class_0
307 zero 0,class_14-class_0
308 zero 0,class_15-class_0
309 zero 0,class_16-class_0
310 zero 0,class_17-class_0
311 zero 0,class_18-class_0
312 zero 0,class_19-class_0
313 zero 0,class_20-class_0
314 "
315 end