include "hdr1.html"; ?>
Line | Address | Object Code | Label | F1 | N1 | B | F2 | N2 | Comments | Check |
---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | ;-------------------------------------------------------------------- | ||||||||
2 | 0 | ; programs should access the run-time system via the following | ||||||||
3 | 0 | ; locations. The address of the first is stored in location 10 | ||||||||
4 | 0 | ; | ||||||||
5 | 0 | T2VEC: | ; | |||||||
6 | 0 | ; | ||||||||
7 | 0 | ; general return, clearing the Overflow flag en route | ||||||||
8 | 0 | Return: | ; | |||||||
9 | 0 | 4300121000024 | jo | return | : | jmp | return | ;+0 | @6655 | |
10 | 1 | ; | ||||||||
11 | 1 | ; general return link, callers store return address here | ||||||||
12 | 1 | 0000040000010 | T2Link: | +0000040000010 | ;+1 general return address | @6656 | ||||
13 | 2 | ; | ||||||||
14 | 2 | 1115170 | jmp | EnterBlock | ;+2 | @6657 | ||||
15 | 2+ | 1015363 | jmp | Round | ; round and convert to int | |||||
16 | 3 | 1115175 | jmp | LeaveBlock | ;+3 | @6658 | ||||
17 | 3+ | 1015372 | jmp | Div | ; divide integers | |||||
18 | 4 | 1015200 | jmp | CopyVArray | ;+4 copy value array param | @6659 | ||||
19 | 4+ | 1015403 | jmp | IPower | ; raise flpt num to int power | |||||
20 | 5 | 1015213 | jmp | AllocArray | ;+5 | @6660 | ||||
21 | 5+ | 1015700 | jmp | RPower | ; raise flpt num to real power | |||||
22 | 6 | 1115271 | jmp | Unwind | ;+6 | @6661 | ||||
23 | 6+ | 1000000 | jmp | Index1 | ; | |||||
24 | 7 | 1115304 | jmp | Setup | ;+7 prepare for call | @6662 | ||||
25 | 7+ | 1000003 | jmp | Index2 | ; | |||||
26 | 8 | ResetEnt: | ; | |||||||
27 | 8 | 1000000 | jmp | Reset | ;+8 | @6663 | ||||
28 | 8+ | 1000007 | jmp | Index3 | ; | |||||
29 | 9 | 1115323 | jmp | StackData | ;+9 stack data | @6664 | ||||
30 | 9+ | SubOflo: | ; | |||||||
31 | 9+ | 1100003 | jmp | SubscrOflo | ; | |||||
32 | 10 | 1015336 | jmp | UnstkData | ;+10 unstack data | @6665 | ||||
33 | 10+ | OutStr: | ; | |||||||
34 | 10+ | 1000013 | jmp | outstr | ;print character string | |||||
35 | 11 | IntOflo: | ; | |||||||
36 | 11 | 1000000 | jmp | intoflo | ;+11 | @6666 | ||||
37 | 11+ | 1017044 | jmp | ReadReal | ; | |||||
38 | 12 | SpaceOflo: | ; | |||||||
39 | 12 | 1100002 | jmp | spaceoflo | ;+12 | @6667 | ||||
40 | 12+ | 1017045 | jmp | ReadInt | ; | |||||
41 | 13 | ; | ||||||||
42 | 13 | 0000000000000 | Link1: | +0 | ;+13 | @6668 | ||||
43 | 14 | 0000000000000 | arg1: | +0 | ;+14, 1st argument to routine | @6669 | ||||
44 | 15 | 0000000000000 | arg2: | +0 | ;+15, 2nd argument/general work | @6670 | ||||
45 | 16 | 0000000000000 | arg3: | +0 | ;+16, 3rd argument/general work | @6671 | ||||
46 | 17 | OutReal: | ; | |||||||
47 | 17 | 4300055017255 | jo | IntOflo | : | jmp | Print.real | ;+17 | @6672 | |
48 | 18 | ; | ||||||||
49 | 18 | ; print an integer value | ||||||||
50 | 18 | OutIntchk: | ; | |||||||
51 | 18 | 1060013 | jo | IntOflo | ;+18, check for int oflo first | @6673 | ||||
52 | 18+ | OutInt: | ; | |||||||
53 | 18+ | 1017256 | jmp | Print.int | ; print integer value | |||||
54 | 19 | ; | ||||||||
55 | 19 | 0000000000000 | +0 | ;+19 | @6674 | |||||
56 | 20 | ; | ||||||||
57 | 20 | ; general return, assume overflow clear | ||||||||
58 | 20 | return: | ; | |||||||
59 | 20 | 0000007000001 | o00 | T2Link | / | jmp | 1 | ;+20 | @6675 | |
60 | 21 | ; | ||||||||
61 | 21 | ; input device number, top bit signifies special(4) i.e. ignore spaces | ||||||||
62 | 21 | ; on input. | ||||||||
63 | 21 | ; | ||||||||
64 | 21 | 0000000000000 | indev: | +0 | ;+21 | @6676 | ||||
65 | 22 | 4300055015317 | jo | IntOflo | : | jmp | StoreMax | ;+22 amount of space left | @6677 | |
66 | 23 | 0000000000000 | stkpt: | +0 | ;+23 | @6678 | ||||
67 | 24 | 0000000000000 | frmpt: | +0 | ;+24 | @6679 | ||||
68 | 25 | 0000000000000 | lomem: | +0 | ;+25 | @6680 | ||||
69 | 26 | 0000020000074 | 00 | 4 | : | 00 | Rfmt | ;+26, stack list for print | @6681 | |
70 | 27 | 0000000000000 | himem: | +0 | ;+27 | @6682 | ||||
71 | 28 | 4300055000005 | jo | IntOflo | : | jmp | Stop | ;+28 | @6683 | |
72 | 29 | DWaitEnt: | ; | |||||||
73 | 29 | ;L6684: | ||||||||
74 | 29 | 1000023 | jmp | DWait | ;+29 | @6684 | ||||
75 | 29+ | ; | ||||||||
76 | 29+ | Pause: | ; | |||||||
77 | 29+ | 1000017 | jmp | pause | ;+29+ | |||||
78 | 30 | ; | ||||||||
79 | 30 | L6685: | ; | |||||||
80 | 30 | 0600015 | lod | Link1 | ;+30 Entier | @6685 | ||||
81 | 30+ | 0400001 | sto | T2Link | ; move return address | |||||
82 | 31 | 0600016 | lod | arg1 | ;+31 load arg1 | @6686 | ||||
83 | 31+ | 1115363 | jmp | Entier | ; and join with round | |||||
84 | 32 | ; | ||||||||
85 | 32 | 4300055015425 | jo | IntOflo | : | jmp | Sign | ;+32 Sign | @6687 | |
86 | 33 | ExpEnt: | ; | |||||||
87 | 33 | 4300055016027 | jo | IntOflo | : | jmp | Exp | ;+33 | @6688 | |
88 | 34 | LogEnt: | ; | |||||||
89 | 34 | 4300055016322 | jo | IntOflo | : | jmp | Ln | ;+34 | @6689 | |
90 | 35 | 4300055016046 | jo | IntOflo | : | jmp | Sin | ;+35 | @6690 | |
91 | 36 | 4300055016067 | jo | IntOflo | : | jmp | Cos | ;+36 | @6691 | |
92 | 37 | 4300055016334 | jo | IntOflo | : | jmp | Tan | ;+37 | @6692 | |
93 | 38 | 4300055016357 | jo | IntOflo | : | jmp | ArcTan | ;+38 | @6693 | |
94 | 39 | 4300055016443 | jo | IntOflo | : | jmp | ArcCos | ;+39 | @6694 | |
95 | 40 | 4300055016415 | jo | IntOflo | : | jmp | ArcSin | ;+40 | @6695 | |
96 | 41 | 4300055016373 | jo | IntOflo | : | jmp | Sqrt | ;+41 | @6696 | |
97 | 42 | retlnk1: | ; | |||||||
98 | 42 | 0000067000001 | o00 | Link1 | / | jmp | 1 | ;+42 | @6697 | |
99 | 43 | 4300055016446 | jo | IntOflo | : | jmp | Digits | ;+43 | @6698 | |
100 | 44 | 4300055016453 | jo | IntOflo | : | jmp | Scaled | ;+44 | @6699 | |
101 | 45 | 4300055116474 | jo | IntOflo | : | jmp | Aligned | ;+45 | @6700 | |
102 | 46 | 4300055016471 | jo | IntOflo | : | jmp | Freepoint | ;+46 | @6701 | |
103 | 47 | 4300055016457 | jo | IntOflo | : | jmp | Sameline | ;+47 | @6702 | |
104 | 48 | 3000071000052 | lod | arg1 | : | jmp | retlnk1 | ;+48, Address in-line | @6703 | |
105 | 49 | 4067425100007 | jmp | Size | : | jmp | Corrupt | ;+49 | @6704 | |
106 | 50 | 2664501115710 | cls | W6736 | : | jmp | Range | ;+50 | @6705 | |
107 | 51 | 2664501015711 | cls | W6736 | : | jmp | Lowbound | ;+51 | @6706 | |
108 | 52 | 4300055015723 | jo | IntOflo | : | jmp | Dump | ;+52 | @6707 | |
109 | 53 | 0000004000025 | o00 | 1 | : | o00 | indev | ;+53, stacklist for read | @6708 | |
110 | 54 | 4300055116530 | jo | IntOflo | : | jmp | Reader | ;+54 | @6709 | |
111 | 55 | 4300055016537 | jo | IntOflo | : | jmp | Punch | ;+55 | @6710 | |
112 | 56 | 4300055016501 | jo | IntOflo | : | jmp | LeadZero | ;+56 | @6711 | |
113 | 57 | 4300055016510 | jo | IntOflo | : | jmp | Grouping | ;+57 | @6712 | |
114 | 58 | 4300055016516 | jo | IntOflo | : | jmp | Special | ;+58 | @6713 | |
115 | 59 | 4300055116467 | jo | IntOflo | : | jmp | Prefix | ;+59 | @6714 | |
116 | 60 | ; | ||||||||
117 | 60 | ; parameters block for print stream | ||||||||
118 | 60 | ; real format: 3 bits: type 4=scaled, 2=aligned, 1=freepoint | ||||||||
119 | 60 | ; 3 bits: spare? | ||||||||
120 | 60 | ; 13 bits: digits before . =1 for scaled | ||||||||
121 | 60 | ; 7 bits: spare? | ||||||||
122 | 60 | ; 13 bits: digits after . | ||||||||
123 | 60 | ; | ||||||||
124 | 60 | 1000040000010 | Rfmt: | 10 | +8 | : | 00 | +8 | ;+60, freepoint(8) is default | @6715 |
125 | 61 | Ndigits: | ; | |||||||
126 | 61 | 0000000000010 | +8 | ;+61, number of digits in ints | @6716 | |||||
127 | 62 | ; prtfmt layout: | ||||||||
128 | 62 | ; 6 bits: special flags 40=suppress leading space, 20=print explicit '+', | ||||||||
129 | 62 | ; 10=suppress floating of sign | ||||||||
130 | 62 | ; 13 bits: prefix address, 0=default, 1=sameline, other string address | ||||||||
131 | 62 | ; 1 bit: spare | ||||||||
132 | 62 | ; 6 bits: grouping count, default zero | ||||||||
133 | 62 | ; 7 bits: spare? | ||||||||
134 | 62 | ; 6 bits: leadzero char, default zero=>space | ||||||||
135 | 62 | ; | ||||||||
136 | 62 | 0000000000000 | prtfmt: | +0 | ;+62, | @6717 | ||||
137 | 63 | 0000000000000 | outdev: | +0 | ;+63, | @6718 | ||||
138 | 64 | ;-------------------------------------------------------------------- | ||||||||
139 | 64 | 0000000000000 | RdBuff: | +0 | ;+64 | @6719 | ||||
140 | 65 | 0000000000000 | +0 | ;+65 | @6720 | |||||
141 | 66 | 0000000000000 | +0 | ;+66 | @6721 | |||||
142 | 67 | 0000000000000 | +0 | ;+67 | @6722 | |||||
143 | 68 | 4300055017004 | jo | IntOflo | : | jmp | Advance | ;+68 | @6723 | |
144 | 69 | 4300055017023 | jo | IntOflo | : | jmp | Buffer | ;+69 | @6724 | |
145 | 70 | 4300055015476 | jo | IntOflo | : | jmp | Checki | ;+70 | @6725 | |
146 | 71 | 4300055015464 | jo | IntOflo | : | jmp | Checkr | ;+71 | @6726 | |
147 | 72 | 4300055015451 | jo | IntOflo | : | jmp | Checkb | ;+72 | @6727 | |
148 | 73 | 4300055115461 | jo | IntOflo | : | jmp | Checks | ;+73 | @6728 | |
149 | 74 | 0000000000000 | W6729: | +0 | ;+74 | @6729 | ||||
150 | 75 | 4300055116717 | jo | IntOflo | : | jmp | InString | ;+75 | @6730 | |
151 | 76 | ChkLink: | ; | |||||||
152 | 76 | 0000000000000 | +0 | ;+76 return address | @6731 | |||||
153 | 77 | 0000000000000 | ChkVal: | +0 | ;+77 value for check | @6732 | ||||
154 | 78 | 0353600000000 | SCRLF: | +0353600000000 | ;+78 CR,LF string | @6733 | ||||
155 | 79 | 0000000000000 | W6734: | +0 | ;+79 | @6734 | ||||
156 | 80 | 4300055016646 | W6735: | jo | IntOflo | : | jmp | OutString | ;+80 | @6735 |