1 " ***********************************************************
2 " * *
3 " * Copyright, C Honeywell Information Systems Inc., 1982 *
4 " * *
5 " * Copyright c 1972 by Massachusetts Institute of *
6 " * Technology and Honeywell Information Systems, Inc. *
7 " * *
8 " ***********************************************************
9
10 " Modified: 15 May 1984 by DWL to add new string function mid$
11 " Modified: 19 May 1984 by D. Leskiw to add new string function left$
12 " Modified: 23 May 1984 by D. Leskiw to add new string function right$
13 " Modified: 23 May 1984 by D. Leskiw to allow pos to have optional # of args
14 " Modified: 25 May 1984 by D. Leskiw to fix problem when left$, right$, or pos is passed
15 " as functions argument, as on page 5-3 of basic manual
16 "
17 " Table of valid BASIC statements
18 "
19 segdef statement_spelling
20 statement_spelling:
21 dec 0,-1 a
22 dec 0,-1 b
23 dec 1,3 c
24 dec 4,6 d
25 dec 7,7 e
26 dec 8,10 f
27 dec 11,12 g
28 dec 0,-1 h
29 dec 13,14 i
30 dec 0,-1 j
31 dec 0,-1 k
32 dec 15,17 l
33 dec 18,19 m
34 dec 20,20 n
35 dec 21,21 o
36 dec 22,22 p
37 dec 0,-1 q
38 dec 23,27 r
39 dec 28,32 s
40 dec 33,34 t
41 dec 0,-1 u
42 dec 0,-1 v
43 dec 35,35 w
44 dec 0,-1 x
45 dec 0,-1 y
46 dec 0,-1 z
47 "
48 segdef statement_list
49 statement_list:
50 aci "cal " call
51 aci "l "
52 dec 1
53 aci "cha " chain
54 aci "in "
55 dec 2
56 aci "cha " change
57 aci "nge "
58 dec 3
59 aci "dat " data
60 aci "a "
61 dec 1
62 aci "def " def
63 aci " "
64 dec 0
65 aci "dim " dim
66 aci " "
67 dec 0
68 aci "end " end
69 aci " "
70 dec 0
71 aci "fil " file
72 aci "e "
73 dec 1
74 aci "fne " fnend
75 aci "nd "
76 dec 2
77 aci "for " for
78 aci " "
79 dec 0
80 aci "got " goto
81 aci "o "
82 dec 1
83 aci "gos " gosub
84 aci "ub "
85 dec 2
86 aci "if " if
87 aci " "
88 dec 0
89 aci "inp " input
90 aci "ut "
91 dec 2
92 aci "let " let
93 aci " "
94 dec 0
95 aci "lib " library
96 aci "rary "
97 dec 4
98 aci "lin " linput
99 aci "put "
100 dec 3
101 aci "mar " margin
102 aci "gin "
103 dec 3
104 aci "mat " mat
105 aci " "
106 dec 0
107 aci "nex " next
108 aci "t "
109 dec 1
110 aci "on " on
111 aci " "
112 dec 0
113 aci "pri " print
114 aci "nt "
115 dec 2
116 aci "ran " randomize
117 aci "domize "
118 dec 6
119 aci "rea " read
120 aci "d "
121 dec 1
122 aci "rem " rem
123 aci " "
124 dec 0
125 aci "res " reset
126 aci "et "
127 dec 2
128 aci "ret " return
129 aci "urn "
130 dec 3
131 aci "scr " scratch
132 aci "atch "
133 dec 4
134 aci "set " setdigits
135 aci "digits "
136 dec 6
137 aci "sto " stop
138 aci "p "
139 dec 1
140 aci "sub " sub
141 aci " "
142 dec 0
143 aci "sub " subend
144 aci "end "
145 dec 3
146 aci "tea " teach
147 aci "ch "
148 dec 2
149 aci "tim " time
150 aci "e "
151 dec 1
152 aci "wri " write
153 aci "te "
154 dec 2
155 "
156 include basic_xfer_vector
157 "
158 " Information tables giving predefined BASIC functions
159 "
160 equ n.0,1 numeric no arguments
161 equ n.n,2 numeric one numeric arg
162 equ n.s,3 numeric one string arg
163 equ n.f,4 numeric one file arg
164 equ s.0,5 string no arguments
165 equ s.n,6 string one numeric arg
166 equ s.nn,7 string two numeric args
167 equ n.nn,8 numeric two numeric args
168 equ n.fs,9 numeric one file arg, one string arg
169 equ n.ssn,10 numeric two string args, one numeric arg
170 equ s.snn,11 string one string arg, two numeric args
171 equ n.var,12 numeric variable number of args
172 equ matrix,13 matrix function
173 equ print_fun,14 print function tab & spc
174 equ matrix_constant,15 con, idn, zer, nul$
175 equ s.sn,16 string one string arg, one numeric arg
176 equ pos_args,17 pos$a$b$i
177 "
178 " Table of basic functions
179 "
180 segdef functions
181 "
182 " Numeric valued functions
183 "
184 functions:
185 aci "abs " absx
186 vfd 36/n.n
187 tsx7 ap|abs_fun
188 aci "atn " atnx
189 vfd 36/n.n
190 tsx7 ap|atn_fun
191 aci "clg " clgx
192 vfd 36/n.n
193 tsx7 ap|clg_fun
194 aci "cnt " cnt
195 vfd 36/n.0
196 tsx7 ap|argcnt_fun
197 aci "con " con
198 vfd 36/matrix_constant
199 tsx7 ap|con_fun
200 aci "cos " cosx
201 vfd 36/n.n
202 tsx7 ap|cos_fun
203 aci "cot " cotx
204 vfd 36/n.n
205 tsx7 ap|cot_fun
206 aci "det " det
207 vfd 36/n.0
208 tsx7 ap|det_fun
209 aci "exp " expx
210 vfd 36/n.n
211 tsx7 ap|exp_fun
212 aci "hps " hps#f
213 vfd 36/n.f
214 tsx7 ap|hps_fun
215 aci "idn " idn
216 vfd 36/matrix_constant
217 tsx7 ap|idn_fun
218 aci "int " intx
219 vfd 36/n.n
220 tsx7 ap|int_fun
221 aci "inv " inv
222 vfd 36/matrix
223 tsx7 ap|inv_fun
224 aci "len " lena$
225 vfd 36/n.s
226 tsx7 ap|len_fun
227 aci "lin " lin#f
228 vfd 36/n.f
229 tsx7 ap|lin_fun
230 aci "loc " loc#f
231 vfd 36/n.f
232 tsx7 ap|loc_fun
233 aci "lof " lof#f
234 vfd 36/n.f
235 tsx7 ap|lof_fun
236 aci "log " logx
237 vfd 36/n.n
238 tsx7 ap|log_fun
239 aci "mar " mar#f
240 vfd 36/n.f
241 tsx7 ap|mar_fun
242 aci "max " maxxy...z
243 vfd 36/n.var
244 tsx7 ap|max_fun
245 aci "min " minxy...z
246 vfd 36/n.var
247 tsx7 ap|min_fun
248 aci "mod " modxy
249 vfd 36/n.nn
250 tsx7 ap|mod_fun
251 aci "num " num
252 vfd 36/n.0
253 tsx7 ap|num_fun
254 aci "per " per#fa$
255 vfd 36/n.fs
256 tsx7 ap|per_fun
257 aci "pos " posa$b$x
258 vfd 36/pos_args
259 tsx7 ap|pos_fun
260 aci "rnd " rnd
261 vfd 36/n.0
262 tsx7 ap|rnd_fun
263 aci "sgn " sgnx
264 vfd 36/n.n
265 tsx7 ap|sgn_fun
266 aci "sin " sinx
267 vfd 36/n.n
268 tsx7 ap|sin_fun
269 aci "spc " spcx
270 vfd 36/print_fun
271 tsx7 ap|spc_fun
272 aci "sqr " sqrx
273 vfd 36/n.n
274 tsx7 ap|sqr_fun
275 aci "tab " tabx
276 vfd 36/print_fun
277 tsx7 ap|tab_fun
278 aci "tan " tanx
279 vfd 36/n.n
280 tsx7 ap|tan_fun
281 aci "tim " tim
282 vfd 36/n.0
283 tsx7 ap|tim_fun
284 aci "trn " trn
285 vfd 36/matrix
286 tsx7 ap|trn_fun
287 aci "tst " tsta$
288 vfd 36/n.s
289 tsx7 ap|tst_fun
290 aci "typ " typ#fa$
291 vfd 36/n.fs
292 tsx7 ap|typ_fun
293 aci "val " vala$
294 vfd 36/n.s
295 tsx7 ap|val_fun
296 aci "zer " zer
297 vfd 36/matrix_constant
298 tsx7 ap|zer_fun
299 "
300 " string valued functions
301 "
302 aci "arg " arg$x
303 vfd 36/s.n
304 tsx7 ap|argval_fun
305 aci "chr " chr$x
306 vfd 36/s.n
307 tsx7 ap|chr_fun
308 aci "clk " clk$
309 vfd 36/s.0
310 tsx7 ap|clk_fun
311 aci "dat " dat$
312 vfd 36/s.0
313 tsx7 ap|dat_fun
314 aci "nul " nul$
315 vfd 36/matrix_constant
316 tsx7 ap|nul_fun
317 aci "seg " seg$a$xy
318 vfd 36/s.snn
319 tsx7 ap|seg_fun
320 aci "sst " sst$a$xy
321 vfd 36/s.snn
322 tsx7 ap|sst_fun
323 aci "str " str$x
324 vfd 36/s.n
325 tsx7 ap|str_fun
326 aci "usr " usr$
327 vfd 36/s.0
328 tsx7 ap|usr_fun
329 aci "mid " mid$a$xy
330 vfd 36/s.snn
331 tsx7 ap|mid_fun
332 aci "left" left$a$n
333 vfd 36/s.sn
334 tsx7 ap|left_fun
335 aci "righ" right$a$n
336 vfd 36/s.sn
337 tsx7 ap|right_fun
338 "
339 " Spelling table for numeric functions
340 "
341 segdef numeric_spelling
342 numeric_spelling:
343 dec 1,2 a
344 dec 0,-1 b
345 dec 3,7 c
346 dec 8,8 d
347 dec 9,9 e
348 dec 0,-1 f
349 dec 0,-1 g
350 dec 10,10 h
351 dec 11,13 i
352 dec 0,-1 j
353 dec 0,-1 k
354 dec 14,18 l
355 dec 19,22 m
356 dec 23,23 n
357 dec 0,-1 o
358 dec 24,25 p
359 dec 0,-1 q
360 dec 26,26 r
361 dec 27,30 s
362 dec 31,36 t
363 dec 0,-1 u
364 dec 37,37 v
365 dec 0,-1 w
366 dec 0,-1 x
367 dec 0,-1 y
368 dec 38,38 z
369 "
370 " Spelling table for string functions
371 "
372 segdef string_spelling
373 string_spelling:
374 dec 39,39 a
375 dec 0,-1 b
376 dec 40,41 c
377 dec 42,42 d
378 dec 0,-1 e
379 dec 0,-1 f
380 dec 0,-1 g
381 dec 0,-1 h
382 dec 0,-1 i
383 dec 0,-1 j
384 dec 0,-1 k
385 dec 49,49 l, used for left$
386 dec 48,48 m, used for mid$
387 dec 43,43 n
388 dec 0,-1 o
389 dec 0,-1 p
390 dec 0,-1 q
391 dec 50,50 r, used for right$
392 dec 44,46 s, used for seg$,sst$,str$
393 dec 0,-1 t
394 dec 47,47 u
395 dec 0,-1 v
396 dec 0,-1 w
397 dec 0,-1 x
398 dec 0,-1 y
399 dec 0,-1 z
400 "
401 segdef function_templates
402 "
403 " code templates for functions passed as subprogram arguments
404 "
405 function_templates:
406 arg numeric_0 n.0
407 arg numeric_n n.n
408 arg numeric_s n.s
409 arg numeric_f n.f
410 arg string_0 s.0
411 arg string_n s.n
412 arg 0 s.nn
413 arg numeric_nn n.nn
414 arg numeric_fs n.fs
415 arg numeric_ssn n.ssn
416 arg string_snn s.snn
417 arg 0 n.var
418 arg 0 matrix
419 arg 0 print_fun
420 arg 0 matrix_constant
421 arg string_sn s.sn
422 arg 0 pos_args
423 arg d_numeric_0 n.0
424 arg d_numeric_n n.n
425 arg d_numeric_s n.s
426 arg d_numeric_f n.f
427 arg string_0 s.0
428 arg d_string_n s.n
429 arg 0 s.nn
430 arg d_numeric_nn n.nn
431 arg d_numeric_fs n.fs
432 arg d_numeric_ssn n.ssn
433 arg d_string_snn s.snn
434 arg 0 n.var
435 arg 0 matrix
436 arg 0 print_fun
437 arg 0 matrix_constant
438 arg d_string_sn s.sn
439 arg 0 pos_args
440 " numeric no arguments
441 "
442 numeric_0:
443 tra 7,ic
444 oct 0
445 oct 0
446 tsx7 0
447 fst sp|0,6
448 epp3 -4,ic
449 tsx7 ap|fun_return_op
450 "
451 " numeric one numeric arg
452 " numeric one file arg
453 "
454 numeric_n:
455 numeric_f:
456 tra 8,ic
457 oct 020000000000
458 oct 0
459 fld sp|1,6
460 tsx7 0
461 fst sp|0,6
462 epp3 -5,ic
463 tsx7 ap|fun_return_op
464 "
465 " numeric one string arg
466 "
467 numeric_s:
468 tra 8,ic
469 oct 024000000000
470 oct 0
471 epp1 sp|1,6
472 tsx7 0
473 fst sp|0,6
474 epp3 -5,ic
475 tsx7 ap|fun_return_op
476 "
477 " string no arguments
478 "
479 string_0:
480 tra 8,ic
481 oct 010000000000
482 oct 0
483 tsx7 0
484 epp3 sp|0,6
485 tsx7 ap|string_assign_op
486 epp3 -5,ic
487 tsx7 ap|fun_return_op
488 "
489 " string one numeric arg
490 "
491 string_n:
492 tra 9,ic
493 oct 030000000000
494 oct 0
495 fld sp|1,6
496 tsx7 0
497 epp3 sp|0,6
498 tsx7 ap|string_assign_op
499 epp3 -6,ic
500 tsx7 ap|fun_return_op
501 "
502 " numeric two numeric args
503 "
504 numeric_nn:
505 tra 9,ic
506 oct 040000000000
507 oct 0
508 fld sp|1,6
509 tsx7 0
510 fld sp|2,6
511 fst sp|0,6
512 epp3 -6,ic
513 tsx7 ap|fun_return_op
514 "
515 " numeric one file arg, one string arg
516 "
517 numeric_fs:
518 tra 9,ic
519 oct 042000000000
520 oct 0
521 fld sp|1,6
522 epp1 sp|2,6
523 tsx7 0
524 fst sp|0,6
525 epp3 -6,ic
526 tsx7 ap|fun_return_op
527 "
528 " numeric two string args, one numeric arg
529 "
530 numeric_ssn:
531 tra 10,ic
532 oct 066000000000
533 oct 0
534 fld sp|3,6
535 epp1 sp|1,6
536 epp3 sp|2,6
537 tsx7 0
538 fst sp|0,6
539 epp3 -7,ic
540 tsx7 ap|fun_return_op
541 "
542 " string one string arg, tw numeric args
543 "
544 string_snn:
545 tra 11,ic
546 oct 074000000000
547 oct 0
548 fld sp|2,6
549 epp1 sp|1,6
550 tsx7 0
551 fld sp|3,6
552 epp3 sp|0,6
553 tsx7 ap|string_assign_op
554 epp3 -8,ic
555 tsx7 ap|fun_return_op
556 "
557 " string string arg, numeric arg
558 "
559 string_sn:
560 tra 10,ic
561 oct 054000000000
562 oct 0
563 fld sp|2,6
564 epp1 sp|1,6
565 tsx7 0
566 epp3 sp|0,6
567 tsx7 ap|string_assign_op
568 epp3 -7,ic
569 tsx7 ap|fun_return_op
570
571 "
572 " numeric no arguments
573 "
574 d_numeric_0:
575 tra 7,ic
576 oct 0
577 oct 0
578 tsx7 0
579 dfst sp|0,6
580 epp3 -4,ic
581 tsx7 ap|fun_return_op
582 "
583 " numeric one numeric arg
584 " numeric one file arg
585 "
586 d_numeric_n:
587 d_numeric_f:
588 tra 8,ic
589 oct 020000000000
590 oct 0
591 dfld sp|2,6
592 tsx7 0
593 dfst sp|0,6
594 epp3 -5,ic
595 tsx7 ap|fun_return_op
596 "
597 " numeric one string arg
598 "
599 d_numeric_s:
600 tra 8,ic
601 oct 024000000000
602 oct 0
603 epp1 sp|2,6
604 tsx7 0
605 dfst sp|0,6
606 epp3 -5,ic
607 tsx7 ap|fun_return_op
608 "
609 " string one numeric arg
610 "
611 d_string_n:
612 tra 9,ic
613 oct 030000000000
614 oct 0
615 dfld sp|2,6
616 tsx7 0
617 epp3 sp|0,6
618 tsx7 ap|string_assign_op
619 epp3 -6,ic
620 tsx7 ap|fun_return_op
621 "
622 " numeric two numeric args
623 "
624 d_numeric_nn:
625 tra 9,ic
626 oct 040000000000
627 oct 0
628 dfld sp|2,6
629 tsx7 0
630 dfld sp|4,6
631 dfst sp|0,6
632 epp3 -6,ic
633 tsx7 ap|fun_return_op
634 "
635 " numeric one file arg, one string arg
636 "
637 d_numeric_fs:
638 tra 9,ic
639 oct 042000000000
640 oct 0
641 dfld sp|2,6
642 epp1 sp|4,6
643 tsx7 0
644 dfst sp|0,6
645 epp3 -6,ic
646 tsx7 ap|fun_return_op
647 "
648 " numeric two string args, one numeric arg
649 "
650 d_numeric_ssn:
651 tra 10,ic
652 oct 066000000000
653 oct 0
654 dfld sp|6,6
655 epp1 sp|2,6
656 epp3 sp|4,6
657 tsx7 0
658 dfst sp|0,6
659 epp3 -7,ic
660 tsx7 ap|fun_return_op
661 "
662 " string one string arg, tw numeric args
663 "
664 d_string_snn:
665 tra 11,ic
666 oct 074000000000
667 oct 0
668 dfld sp|4,6
669 epp1 sp|2,6
670 tsx7 0
671 dfld sp|6,6
672 epp3 sp|0,6
673 tsx7 ap|string_assign_op
674 epp3 -8,ic
675 tsx7 ap|fun_return_op
676 "
677 " string one string args, one numeric arg
678 "
679 d_string_sn:
680 tra 10,ic
681 oct 054000000000
682 oct 0
683 dfld sp|4,6
684 epp1 sp|2,6
685 tsx7 0
686 epp3 sp|0,6
687 tsx7 ap|string_assign_op
688 epp3 -7,ic
689 tsx7 ap|fun_return_op
690
691 "
692 " Information table for use by ASC function
693 "
694 segdef ascii_table
695 ascii_table:
696 vfd 9/0
697 aci "nul "
698 vfd 9/1
699 aci "soh "
700 vfd 9/2
701 aci "stx "
702 vfd 9/3
703 aci "etx "
704 vfd 9/4
705 aci "eot "
706 vfd 9/5
707 aci "enq "
708 vfd 9/6
709 aci "ack "
710 vfd 9/7
711 aci "bel "
712 vfd 9/8
713 aci "bs "
714 vfd 9/9
715 aci "ht "
716 vfd 9/10
717 aci "lf "
718 vfd 9/11
719 aci "vt "
720 vfd 9/12
721 aci "ff "
722 vfd 9/13
723 aci "cr "
724 vfd 9/14
725 aci "so "
726 vfd 9/15
727 aci "si "
728 vfd 9/16
729 aci "dle "
730 vfd 9/17
731 aci "dc1 "
732 vfd 9/18
733 aci "dc2 "
734 vfd 9/19
735 aci "dc3 "
736 vfd 9/20
737 aci "dc4 "
738 vfd 9/21
739 aci "nak "
740 vfd 9/22
741 aci "syn "
742 vfd 9/23
743 aci "etb "
744 vfd 9/24
745 aci "can "
746 vfd 9/25
747 aci "em "
748 vfd 9/26
749 aci "sub "
750 vfd 9/27
751 aci "esc "
752 vfd 9/28
753 aci "fs "
754 vfd 9/29
755 aci "gs "
756 vfd 9/30
757 aci "rs "
758 vfd 9/31
759 aci "us "
760 vfd 9/32
761 aci "sp "
762 vfd 9/95
763 aci "bkr "
764 vfd 9/95
765 aci "und "
766 vfd 9/96
767 aci "gra "
768 vfd 9/123
769 aci "lbr "
770 vfd 9/124
771 aci "vln "
772 vfd 9/125
773 aci "rbr "
774 vfd 9/126
775 aci "til "
776 vfd 9/34
777 aci "quo "
778 vfd 9/34
779 aci "qt "
780 vfd 9/39
781 aci "apo "
782 "
783 segdef ascii_table_length
784 ascii_table_length:
785 vfd 36/*-ascii_table/2
786 "
787 " Table of valid relational operators
788 "
789 segdef relational_table
790 relational_table:
791 aci "= "
792 aci "< "
793 aci "<= "
794 aci "=< "
795 aci "<> "
796 aci ">< "
797 aci ">= "
798 aci "=> "
799 aci "> "
800 "
801 segdef relational_table_length
802 relational_table_length:
803 vfd 36/*-relational_table
804 "
805 segdef normal_relational
806 normal_relational:
807 tze 0 =
808 tmi 0 <
809 tmoz 0 <=
810 tmoz 0 =<
811 tnz 0 <>
812 tnz 0 ><
813 tpl 0 >=
814 tpl 0 =>
815 tpnz 0 >
816 "
817 segdef inverse_relational
818 inverse_relational:
819 tze 0 =
820 tpnz 0 <
821 tpl 0 <=
822 tpl 0 >=
823 tnz 0 <>
824 tnz 0 ><
825 tmoz 0 >=
826 tmoz 0 =>
827 tmi 0 >
828 "
829 " Addressing prototypes
830 "
831 segdef array_prototype
832 array_prototype:
833 arg bp|0
834 "
835 segdef constant_prototype
836 constant_prototype:
837 arg lp|0
838 "
839 segdef scalar_prototype
840 scalar_prototype:
841 arg sp|0 numeric
842 arg pr5|0 string
843 "
844 segdef param_prototype
845 param_prototype:
846 arg sp|0,*
847 "
848 segdef function_dummy
849 function_dummy:
850 tsx7 0
851 "
852 segdef instruction_sequences
853 instruction_sequences:
854 add: fad 0
855 "
856 change: tsx7 ap|change_from_string
857 tsx7 ap|change_to_string
858 "
859 check_eof:
860 tsx7 ap|check_eof_op
861 "
862 compare: fcmp 0
863 "
864 data_read:
865 tsx7 ap|numeric_data_read
866 tsx7 ap|string_data_read
867 "
868 divide: fdv 0
869 "
870 divide_inv:
871 fdi 0
872 "
873 end_input:
874 tsx7 ap|end_input_op
875 "
876 end_print:
877 tsx7 0|end_print_op
878 "
879 enter_main:
880 tsp2 2|0,*
881 "
882 enter_proc:
883 tsp2 2|2,*
884 "
885 error: tsx7 ap|error_in_statement
886 tsx7 ap|missing_line
887 tsx7 ap|unclosed_for
888 tsx7 ap|undefined_function
889 "
890 file: tsx7 ap|file_fun
891 "
892 fneg: fneg 0
893 "
894 fszn: fszn 0
895 "
896 function_arg:
897 epp2 0
898 sprp2 0
899 sprp6 0
900 ldaq 0
901 staq 0
902 "
903 function_call:
904 epp3 0
905 tsx7 0|fun_call_op
906 tsx7 0|global_fun_call_op
907 "
908 function_return:
909 epp3 0
910 tsx7 0|fun_return_op
911 "
912 get_fcb_pt:
913 lprp2 0
914 "
915 gosub: tsx7 ap|gosub_op
916 "
917 inner_product:
918 tsx7 0|dot_product
919 "
920 input: tsx7 ap|numeric_input_op
921 tsx7 ap|string_input_op
922 "
923 linput: zero
924 tsx7 0|linput_op
925 "
926 load: fld 0 numeric
927 epp1 0 string
928 epp2 0 addressing
929 epp3 0 string 2nd arg
930 ldq 0,dl used for variable arg functions
931 "
932 margin: tsx7 ap|margin_op
933 "
934 mat_data_read:
935 tsx7 0|mat_numeric_data_read
936 tsx7 0|mat_string_data_read
937 "
938 mat_input:
939 tsx7 0|mat_numeric_input_op
940 tsx7 0|mat_string_input_op
941 "
942 mat_linput:
943 zero
944 tsx7 0|mat_linput_op
945 "
946 mat_print:
947 tsx7 0|mat_numeric_print_op
948 tsx7 0|mat_string_print_op
949 "
950 mat_print_using:
951 tsx7 0|mat_print_using_numeric
952 tsx7 0|mat_print_using_string
953 "
954 mat_read:
955 tsx7 0|mat_numeric_read_op
956 tsx7 0|mat_string_read_op
957 "
958 mat_write:
959 tsx7 0|mat_numeric_write_op
960 tsx7 0|mat_string_write_op
961 "
962 matrix_add_sub:
963 tsx7 0|mat_add
964 tsx7 0|mat_sub
965 "
966 matrix_assign_numeric:
967 tsx7 0|mat_assign_numeric
968 "
969 matrix_assign_string:
970 tsx7 0|mat_assign_string
971 "
972 matrix_mult:
973 tsx7 0|mat_mult_vm
974 tsx7 0|mat_mult_mv
975 tsx7 0|mat_mult_mm
976 "
977 matrix_scalar_mult:
978 tsx7 0|mat_scalar_mult
979 "
980 multiply: fmp 0
981 "
982 on: tsx7 ap|on_op
983 "
984 on_gosub: tsx7 ap|on_gosub_op
985 "
986 power: tsx7 ap|pwr_fun
987 "
988 power_inverse:
989 tsx7 0|pwri_fun
990 "
991 print: tsx7 ap|numeric_print_op
992 tsx7 0|string_print_op
993 "
994 print_new_line:
995 tsx7 0|print_new_line_op
996 "
997 print_using:
998 tsx7 0|print_using_numeric_op
999 tsx7 0|print_using_string_op
1000 "
1001 print_using_start:
1002 tsx7 0|print_using_start_op
1003 "
1004 print_using_end:
1005 tsx7 0|print_using_end_op
1006 "
1007 randomize:
1008 tsx7 0|randomize_fun
1009 "
1010 read: tsx7 ap|numeric_read_op
1011 tsx7 0|string_read_op
1012 "
1013 redimension:
1014 tsx7 0|list_redim_op
1015 tsx7 0|table_redim_op
1016 tsx7 0|inv_table_redim_op
1017 "
1018 reset_ascii:
1019 tsx7 0|reset_ascii_op
1020 "
1021 reset_data:
1022 tsx7 0|reset_op
1023 "
1024 reset_random:
1025 tsx7 0|reset_random_op
1026 "
1027 return: tsx7 ap|return_op
1028 "
1029 save_fcb_pt:
1030 sprpbp 0
1031 "
1032 scratch: tsx7 ap|scratch_op
1033 "
1034 setdigits:
1035 tsx7 0|setdigits_op
1036 "
1037 stop: tsx7 ap|stop_op
1038 "
1039 store: fst 0 numeric
1040 spriab 0 string
1041 spribp 0 addressing
1042 "
1043 string_assign:
1044 eppbb 0
1045 tsx7 0|string_assign_op
1046 "
1047 string_compare:
1048 eppbb 0
1049 tsx7 0|string_compare_op
1050 "
1051 string_concatenate:
1052 eppbb 0
1053 tsx7 0|string_concatenate_op
1054 "
1055 subend: tsx7 ap|subend_op
1056 "
1057 subprogram_call:
1058 tsx7 0|sub_call_op
1059 "
1060 subscript:
1061 tsx7 0|list_sub_op
1062 tsx7 0|table_sub_op
1063 tsx7 0|inv_table_sub_op
1064 "
1065 subtract: fsb 0
1066 "
1067 tab_for_comma:
1068 tsx7 0|tab_for_comma_op
1069 "
1070 tmi: tmi 0
1071 "
1072 tnz: tnz 0
1073 "
1074 tpl: tpl 0
1075 "
1076 tpnz: tpnz 0
1077 "
1078 tra: tra 0
1079 "
1080 tze: tze 0
1081 "
1082 use_fcb: tsx7 ap|use_fcb_op
1083 "
1084 use_file: tsx7 ap|setup_fcb_op
1085 "
1086 use_tty: tsx7 ap|use_tty_op
1087 "
1088 write: tsx7 ap|numeric_write_op
1089 tsx7 0|string_write_op
1090 "
1091 d_add: dfad 0
1092 "
1093 d_change: tsx7 ap|change_from_string
1094 tsx7 ap|change_to_string
1095 "
1096 d_check_eof:
1097 tsx7 ap|check_eof_op
1098 "
1099 d_compare:
1100 dfcmp 0
1101 "
1102 d_data_read:
1103 tsx7 ap|numeric_data_read
1104 tsx7 ap|string_data_read
1105 "
1106 d_divide: dfdv 0
1107 "
1108 d_divide_inv:
1109 dfdi 0
1110 "
1111 d_end_input:
1112 tsx7 ap|end_input_op
1113 "
1114 d_end_print:
1115 tsx7 0|end_print_op
1116 "
1117 d_enter_main:
1118 tsp2 2|0,*
1119 "
1120 d_enter_proc:
1121 tsp2 2|2,*
1122 "
1123 d_error: tsx7 ap|error_in_statement
1124 tsx7 ap|missing_line
1125 tsx7 ap|unclosed_for
1126 tsx7 ap|undefined_function
1127 "
1128 d_file: tsx7 ap|file_fun
1129 "
1130 d_fneg: fneg 0
1131 "
1132 d_fszn: fszn 0
1133 "
1134 d_function_arg:
1135 epp2 0
1136 sprp2 0
1137 sprp6 0
1138 ldaq 0
1139 staq 0
1140 "
1141 d_function_call:
1142 epp3 0
1143 tsx7 0|fun_call_op
1144 tsx7 0|global_fun_call_op
1145 "
1146 d_function_return:
1147 epp3 0
1148 tsx7 0|fun_return_op
1149 "
1150 d_get_fcb_pt:
1151 lprp2 0
1152 "
1153 d_gosub: tsx7 ap|gosub_op
1154 "
1155 d_inner_product:
1156 tsx7 0|dot_product
1157 "
1158 d_input: tsx7 ap|numeric_input_op
1159 tsx7 ap|string_input_op
1160 "
1161 d_linput: zero
1162 tsx7 0|linput_op
1163 "
1164 d_load: dfld 0 numeric
1165 epp1 0
1166 epp2 0
1167 epp3 0
1168 ldq 0,dl
1169 "
1170 d_margin: tsx7 ap|margin_op
1171 "
1172 d_mat_data_read:
1173 tsx7 0|mat_numeric_data_read
1174 tsx7 0|mat_string_data_read
1175 "
1176 d_mat_input:
1177 tsx7 0|mat_numeric_input_op
1178 tsx7 0|mat_string_input_op
1179 "
1180 d_mat_linput:
1181 zero
1182 tsx7 0|mat_linput_op
1183 "
1184 d_mat_print:
1185 tsx7 0|mat_numeric_print_op
1186 tsx7 0|mat_string_print_op
1187 "
1188 d_mat_print_using:
1189 tsx7 0|mat_print_using_numeric
1190 tsx7 0|mat_print_using_string
1191 "
1192 d_mat_read:
1193 tsx7 0|mat_numeric_read_op
1194 tsx7 0|mat_string_read_op
1195 "
1196 d_mat_write:
1197 tsx7 0|mat_numeric_write_op
1198 tsx7 0|mat_string_write_op
1199 "
1200 d_matrix_add_sub:
1201 tsx7 0|mat_add
1202 tsx7 0|mat_sub
1203 "
1204 d_matrix_assign_numeric:
1205 tsx7 0|mat_assign_numeric
1206 "
1207 d_matrix_assign_string:
1208 tsx7 0|mat_assign_string
1209 "
1210 d_matrix_mult:
1211 tsx7 0|mat_mult_vm
1212 tsx7 0|mat_mult_mv
1213 tsx7 0|mat_mult_mm
1214 "
1215 d_matrix_scalar_mult:
1216 tsx7 0|mat_scalar_mult
1217 "
1218 d_multiply:
1219 dfmp 0
1220 "
1221 d_on: tsx7 ap|on_op
1222 "
1223 d_on_gosub:
1224 tsx7 ap|on_gosub_op
1225 "
1226 d_power: tsx7 ap|pwr_fun
1227 "
1228 d_power_inverse:
1229 tsx7 0|pwri_fun
1230 "
1231 d_print: tsx7 ap|numeric_print_op
1232 tsx7 0|string_print_op
1233 "
1234 d_print_new_line:
1235 tsx7 0|print_new_line_op
1236 "
1237 d_print_using:
1238 tsx7 0|print_using_numeric_op
1239 tsx7 0|print_using_string_op
1240 "
1241 d_print_using_start:
1242 tsx7 0|print_using_start_op
1243 "
1244 d_print_using_end:
1245 tsx7 0|print_using_end_op
1246 "
1247 d_randomize:
1248 tsx7 0|randomize_fun
1249 "
1250 d_read: tsx7 ap|numeric_read_op
1251 tsx7 0|string_read_op
1252 "
1253 d_redimension:
1254 tsx7 0|list_redim_op
1255 tsx7 0|table_redim_op
1256 tsx7 0|inv_table_redim_op
1257 "
1258 d_reset_ascii:
1259 tsx7 0|reset_ascii_op
1260 "
1261 d_reset_data:
1262 tsx7 0|reset_op
1263 "
1264 d_reset_random:
1265 tsx7 0|reset_random_op
1266 "
1267 d_return: tsx7 ap|return_op
1268 "
1269 d_save_fcb_pt:
1270 sprpbp 0
1271 "
1272 d_scratch:
1273 tsx7 ap|scratch_op
1274 "
1275 d_setdigits:
1276 tsx7 0|setdigits_op
1277 "
1278 d_stop: tsx7 ap|stop_op
1279 "
1280 d_store: dfst 0 numeric
1281 spriab 0
1282 spribp 0
1283 "
1284 d_string_assign:
1285 eppbb 0
1286 tsx7 0|string_assign_op
1287 "
1288 d_string_compare:
1289 eppbb 0
1290 tsx7 0|string_compare_op
1291 "
1292 d_string_concatenate:
1293 eppbb 0
1294 tsx7 0|string_concatenate_op
1295 "
1296 d_subend: tsx7 ap|subend_op
1297 "
1298 d_subprogram_call:
1299 tsx7 0|sub_call_op
1300 "
1301 d_subscript:
1302 tsx7 0|list_sub_op
1303 tsx7 0|table_sub_op
1304 tsx7 0|inv_table_sub_op
1305 "
1306 d_subtract:
1307 dfsb 0
1308 "
1309 d_tab_for_comma:
1310 tsx7 0|tab_for_comma_op
1311 "
1312 d_tmi: tmi 0
1313 "
1314 d_tnz: tnz 0
1315 "
1316 d_tpl: tpl 0
1317 "
1318 d_tpnz: tpnz 0
1319 "
1320 d_tra: tra 0
1321 "
1322 d_tze: tze 0
1323 "
1324 d_use_fcb:
1325 tsx7 ap|use_fcb_op
1326 "
1327 d_use_file:
1328 tsx7 ap|setup_fcb_op
1329 "
1330 d_use_tty:
1331 tsx7 ap|use_tty_op
1332 "
1333 d_write: tsx7 ap|numeric_write_op
1334 tsx7 0|string_write_op
1335 "
1336 use internal_static
1337 join /static/internal_static
1338 segdef precision_length
1339 precision_length:
1340 dec 1
1341 "
1342 end