Line | Address | Object Code
| Label | F1 | N1 | B | F2 | N2 | Comments | Check
|
---|
1 | 0 | | ; tape2/read.t2 |
|
2 | 0 | | ;-------------- |
|
3 | 0 | | ; readreal - read real number, return value in Acc |
|
4 | 0 | | ; |
|
5 | 0 | | Read:: | ; | |
|
6 | 0 | | ; |
|
7 | 0 | | ; local scratch variables, these locations are also used by other |
|
8 | 0 | | ; routines |
|
9 | 0 | | ; |
|
10 | 0 | | =7241 | |
|
11 | 7241 | 0000000000000 | .temp: | +0 | ; used briefly as a temp | @7241
|
12 | 7242 | 0000000000000 | .num: | +0 | ; number being assembled | @7242
|
13 | 7243 | 0000000000000 | .work1: | +0 | ; | @7243
|
14 | 7244 | | .numflg: | ; | |
|
15 | 7244 | 0000000000000 | | +0 | ; flag - number started | @7244
|
16 | 7245 | | .expflg: | ; | |
|
17 | 7245 | 0000000000000 | | +0 | ; flag - exponent present | @7245
|
18 | 7246 | | .negflg: | ; | |
|
19 | 7246 | 0000000000000 | | +0 | ; flag - negative sign read | @7246
|
20 | 7247 | | .sigflg: | ; | |
|
21 | 7247 | 0000000000000 | | +0 | ; flag - set if sign or digit | @7247
|
22 | 7248 | | .decptflg: | ; | |
|
23 | 7248 | 0000000000000 | | +0 | ; flag - set if dec pt read | @7248
|
24 | 7249 | | .fracct: | ; count of fractional digits | | @7249
|
25 | 7249 | 0000000000000 | .powlnk: | +0 | ; also used as link to Pow10 |
|
26 | 7250 | 0000000000000 | .type: | +0 | ; 0 = real, 1 = integer | @7250
|
27 | 7251 | 0000000000000 | .work2: | +0 | ; | @7251
|
28 | 7252 | 0000000000000 | .rdrno: | +0 | ; reader number (derived from indev) |
|
29 | 7253 | | .work3: | ; alternative for ... | |
|
30 | 7253 | 0000000000000 | .char: | +0 | ; holds current char or deriv | @7253
|
31 | 7254 | 0000000000000 | .pwk1: | +0 | ; work used by Pow10 | @7254
|
32 | 7255 | 0000000000000 | .pwk2: | +0 | ; ditto | @7255
|
33 | 7256 | 0000000000000 | .digct: | +0 | ; digit count | @7256
|
34 | 7257 | | =7716 | |
|
35 | 7716 | | ReadReal: | ; | |
|
36 | 7716 | 0556122 | | cls | .type | | | | ;flag=0 | @7716
|
37 | 7716+ | 1017046 | | jmp | .1 | | | | ; |
|
38 | 7717 | | ;-------------------------------------------------------------------- |
|
39 | 7717 | | ; readint |
|
40 | 7717 | | ReadInt: | ; | |
|
41 | 7717 | 0556122 | | cls | .type | | | | ;flag=1 | @7717
|
42 | 7717+ | 0456122 | | inc | .type | | | | ; |
|
43 | 7718 | | ; |
|
44 | 7718 | | ; common read item code |
|
45 | 7718 | | ; |
|
46 | 7718 | | .1: | ; | |
|
47 | 7718 | 0056213 | | o02 | N8 | | | | ;=-8+1=>-7 | @7718
|
48 | 7718+ | 0416125 | | sto | .work3 | | | | ;set count |
|
49 | 7719 | | .2: | ; | |
|
50 | 7719 | 3270526556120 | | lis | .work3 | / | cls | .decptflg | ;clear 8 words 7241-48 | @7719
|
51 | 7720 | 1037047 | | jn | .2 | | | | ; | @7720
|
52 | 7720+ | 1117063 | | jmp | .8 | | | | ;-->> |
|
53 | 7721 | | =7731+ | |
|
54 | 7731+ | | .8: | ;moved in-line | |
|
55 | 7731+ | 1060013 | | jo | IntOflo | | | | ;just in case? |
|
56 | 7732 | 0600025 | | lod | indev | | | | ;get reader id | @7732
|
57 | 7732+ | 1220013 | | srl | 11 | | | | ;shift right to index |
|
58 | 7733 | 0416124 | | sto | .rdrno | | | | ;save for later | @7733
|
59 | 7733+ | 1117072 | | jmp | .12 | | | | ;-->> |
|
60 | 7734 | | =7738+ | |
|
61 | 7738+ | | .12: | ; | |
|
62 | 7738+ | 0056211 | | o02 | K10a | | | | ;=10+1=>11 |
|
63 | 7739 | 0436130 | | stn | .digct | | | | ; | @7739
|
64 | 7739+ | 0617223 | | lod | .SW | | | | ;large negative number |
|
65 | 7740 | 0416121 | | sto | .fracct | | | | ; | @7740
|
66 | 7740+ | 1017055 | | jmp | .5 | | | | ;join loop |
|
67 | 7741 | | ; |
|
68 | 7741 | | =7721 | |
|
69 | 7721 | | ; read next char from tape |
|
70 | 7721 | | .lp: | ; | |
|
71 | 7721 | 0600127620000 | | cla | indev | / | inp | 0 | ;read char | @7721
|
72 | 7722 | 1057051 | | jz | .lp | | | | ;repeat while blanks | @7722
|
73 | 7722+ | 1017246 | | jmp | .48 | | | | ;-->> |
|
74 | 7723 | | =7846 | |
|
75 | 7846 | | .48: | ; | |
|
76 | 7846 | 0070522200100 | | o00 | .rdrno | / | exa | RdBuff | ;swap with char in buffer | @7846
|
77 | 7847 | 1017053 | | jmp | .4 | | | | ;-->> | @7847
|
78 | 7847+ | | =7723 | |
|
79 | 7723 | | .4: | ; | |
|
80 | 7723 | 0076225 | | and | K32 | | | | ;=32 mask shift bit | @7723
|
81 | 7723+ | | | nop | | | | | ; |
|
81+1 | 7723+ | 1017054 | | jmp | .1 | | | | |
|
81+2 | 7724 | | .1: | ; | |
|
82 | 7724 | 0070522500100 | | o00 | .rdrno | / | ads | RdBuff | ;add shift to new char | @7724
|
83 | 7725 | | .5: | ; | |
|
84 | 7725 | 0070522600100 | | o00 | .rdrno | / | lod | RdBuff | ;load buffer(n) | @7725
|
85 | 7726 | 0416125 | | sto | .char | | | | ;current char | @7726
|
86 | 7726+ | 0076225 | | and | K32 | | | | ;=32 get shift |
|
87 | 7727 | 1057066 | | jz | .9 | | | | ;figure shift | @7727
|
88 | 7727+ | 0176125 | | bus | .char | | | | ;subtract shift from char |
|
89 | 7728 | 0416125 | | sto | .char | | | | ;store amended char | @7728
|
90 | 7728+ | 0176215 | | bus | K27 | | | | ;=27 - char' |
|
91 | 7729 | 0116210 | | add | N1 | | | | ;=-1 | @7729
|
92 | 7729+ | 1037067 | | jn | .10 | | | | ;ok, do switch |
|
93 | 7730 | | .ig: | ; | |
|
94 | 7730 | | | ; ignorable character, | |
|
95 | 7730 | 0616114 | | lod | .numflg | | | | ;see if digits read in | @7730
|
96 | 7730+ | | .7: | ; | |
|
97 | 7730+ | 1057051 | | jz | .lp | | | | ;back to get next char |
|
98 | 7731 | 1017136 | | jmp | .term | | | | ;treat as terminator | @7731
|
99 | 7731+ | | ; |
|
100 | 7731+ | | =7734 | |
|
101 | 7734 | | .9: | ; | |
|
102 | 7734 | 0616125 | | lod | .char | | | | ;char | @7734
|
103 | 7734+ | 0176220 | | bus | K15a | | | | ;=15-char |
|
104 | 7735 | | .10: | ; | |
|
105 | 7735 | 0070527137203 | | o00 | .char | / | jn | .SW#-16 | ;switch on char | @7735
|
106 | 7736 | 0670527017223 | | cla | .char | / | jmp | .SW | ; | @7736
|
107 | 7737 | | ; |
|
108 | 7737 | | ; figure shift comes here |
|
109 | 7737 | | .fs: | ; | |
|
110 | 7737 | 0070522540100 | | o00 | .rdrno | / | cls | RdBuff | ;clear shift in buffer | @7737
|
111 | 7738 | 1017051 | | jmp | .lp | | | | ; | @7738
|
112 | 7738+ | | ; |
|
113 | 7738+ | | =7741 | |
|
114 | 7741 | | ; minus sign comes here |
|
115 | 7741 | | .neg: | ; | |
|
116 | 7741 | 0236117 | | o11 | .sigflg | | | | ; | @7741
|
117 | 7741+ | 1037136 | | jn | .term | | | | ; |
|
118 | 7742 | 0456116 | | inc | .negflg | | | | ;set sign flag | @7742
|
119 | 7742+ | | ; plus sign comes here |
|
120 | 7742+ | | .pl: | ; | |
|
121 | 7742+ | 0456114 | | inc | .numflg | | | | ; |
|
122 | 7743 | 0656117 | | lis | .sigflg | | | | ; | @7743
|
123 | 7743+ | 1117062 | | jmp | .7 | | | | ; |
|
124 | 7744 | | ; |
|
125 | 7744 | | ; digits come here |
|
126 | 7744 | | ; |
|
127 | 7744 | | .dig: | ; | |
|
128 | 7744 | 0456114 | | inc | .numflg | | | | ; | @7744
|
129 | 7744+ | 0456117 | | inc | .sigflg | | | | ; |
|
130 | 7745 | 0456121 | | inc | .fracct | | | | ; | @7745
|
131 | 7745+ | 0616220 | | lod | K15a | | | | ;=15 |
|
132 | 7746 | 0476125 | | ans | .char | | | | ; | @7746
|
133 | 7746+ | 0616112 | | lod | .num | | | | ; |
|
134 | 7747 | 1057112 | | jz | .19 | | | | ; | @7747
|
135 | 7747+ | 0656130 | | lis | .digct | | | | ; |
|
136 | 7748 | 1037105 | | jn | .16 | | | | ; | @7748
|
137 | 7748+ | 1017051 | | jmp | .lp | | | | ; |
|
138 | 7749 | | ; |
|
139 | 7749 | | .16: | ; | |
|
140 | 7749 | 0616112 | | lod | .num | | | | ;\ | @7749
|
141 | 7749+ | 0536125 | | sbs | .char | | | | ; \ |
|
142 | 7750 | 0516125 | | ads | .char | | | | ; >n:=10*n-c | @7750
|
143 | 7750+ | 1320003 | | sll | 3 | | | | ; / |
|
144 | 7751 | 0116125 | | add | .char | | | | ;/ | @7751
|
145 | 7751+ | 1077111 | | jo | .18 | | | | ;check for overflow |
|
146 | 7752 | | .17: | ; | |
|
147 | 7752 | 0416112 | | sto | .num | | | | ;store result | @7752
|
148 | 7752+ | 1017051 | | jmp | .lp | | | | ;and continue scanning |
|
149 | 7753 | | ; |
|
150 | 7753 | | .18: | ; | |
|
151 | 7753 | 0456130 | | inc | .digct | | | | ; | @7753
|
152 | 7753+ | 1017051 | | jmp | .lp | | | | ; |
|
153 | 7754 | | ; |
|
154 | 7754 | | .19: | ; | |
|
155 | 7754 | 0236125 | | o11 | .char | | | | ;n:= -char | @7754
|
156 | 7754+ | 1017110 | | jmp | .17 | | | | ;back to store and continue |
|
157 | 7755 | | ; |
|
158 | 7755 | | ; decimal point comes here |
|
159 | 7755 | | .dot: | ; | |
|
160 | 7755 | 0556121 | | cls | .fracct | | | | ; | @7755
|
161 | 7755+ | 0656120 | | lis | .decptflg | | | | ;test+set dec pt flg |
|
162 | 7756 | 0116115 | | add | .expflg | | | | ; | @7756
|
163 | 7756+ | 1057051 | | jz | .lp | | | | ; |
|
164 | 7757 | 1017171 | | jmp | .error | | | | ; | @7757
|
165 | 7757+ | | ; |
|
166 | 7757+ | | ; @ power-of-ten character comes here |
|
167 | 7757+ | | .ten: | ; | |
|
168 | 7757+ | 0656115 | | lis | .expflg | | | | ;test+set exponent flag |
|
169 | 7758 | 1057117 | | jz | .22 | | | | ;OK | @7758
|
170 | 7758+ | 1017171 | | jmp | .error | | | | ; |
|
171 | 7759 | | ; |
|
172 | 7759 | | .22: | ; | |
|
173 | 7759 | 0556117 | | cls | .sigflg | | | | ; | @7759
|
174 | 7759+ | 0756120 | | lzs | .decptflg | | | | ;load & clr dec pt flg |
|
175 | 7760 | 1157131 | | jz | .27 | | | | ;no decimal pt read | @7760
|
176 | 7760+ | 0616121 | | lod | .fracct | | | | ;check exponent flag |
|
177 | 7761 | 1057171 | | jz | .error | | | | ; | @7761
|
178 | 7761+ | | .23: | ; | |
|
179 | 7761+ | 0616130 | | lod | .digct | | | | ; |
|
180 | 7762 | 1137130 | | jn | .26 | | | | ; | @7762
|
181 | 7762+ | 0176121 | | bus | .fracct | | | | ; |
|
182 | 7763 | | .24: | ; | |
|
183 | 7763 | 0356123 | | stc | .work2 | | | | ; | @7763
|
184 | 7763+ | 0236116 | | o11 | .negflg | | | | ; |
|
185 | 7764 | 1037125 | | jn | .25 | | | | ; | @7764
|
186 | 7764+ | 0636112 | | lcs | .num | | | | ; |
|
187 | 7765 | | .25: | ; | |
|
188 | 7765 | 0756112 | | lzs | .num | | | | ; | @7765
|
189 | 7765+ | 0416113 | | sto | .work1 | | | | ; |
|
190 | 7766 | 0056211 | | o02 | K10a | | | | ;=10+1=>11 | @7766
|
191 | 7766+ | 0436130 | | stn | .digct | | | | ; |
|
192 | 7767 | 0617223 | | lod | .SW | | | | ;large negative number | @7767
|
193 | 7767+ | 0416121 | | sto | .fracct | | | | ; |
|
194 | 7768 | 1017051 | | jmp | .lp | | | | ; | @7768
|
195 | 7768+ | | ; |
|
196 | 7768+ | | .26: | ; | |
|
197 | 7768+ | 0616121 | | lod | .fracct | | | | ; |
|
198 | 7769 | 1017123 | | jmp | .24 | | | | ; | @7769
|
199 | 7769+ | | ; |
|
200 | 7769+ | | .27: | ; | |
|
201 | 7769+ | 0616121 | | lod | .fracct | | | | ; |
|
202 | 7770 | 0137223 | | sub | .SW | | | | ;large negative number | @7770
|
203 | 7770+ | 1057134 | | jz | .29 | | | | ; |
|
204 | 7771 | | .28: | ; | |
|
205 | 7771 | 0556121 | | cls | .fracct | | | | ; | @7771
|
206 | 7771+ | 1117121 | | jmp | .23 | | | | ; |
|
207 | 7772 | | ; |
|
208 | 7772 | | .29: | ; | |
|
209 | 7772 | 0040000 | | o02 | 0 | | | | ; | @7772
|
210 | 7772+ | 0436112 | | stn | .num | | | | ; |
|
211 | 7773 | 1017133 | | jmp | .28 | | | | ; | @7773
|
212 | 7773+ | | ; |
|
213 | 7773+ | 0000000 | | o00 | 0 | | | | ; |
|
214 | 7774 | | ;-------------------------------------------------------------------- |
|
215 | 7774 | | ; finished reading number, now assemble into number |
|
216 | 7774 | | ; |
|
217 | 7774 | | .term: | ; | |
|
218 | 7774 | 0616121 | | lod | .fracct | | | | ; | @7774
|
219 | 7774+ | 1057171 | | jz | .error | | | | ; |
|
220 | 7775 | 0137223 | | sub | .SW | | | | ;large negative number | @7775
|
221 | 7775+ | 1057171 | | jz | .error | | | | ; |
|
222 | 7776 | 0236116 | | o11 | .negflg | | | | ; | @7776
|
223 | 7776+ | 1137141 | | jn | .31 | | | | ; |
|
224 | 7777 | 0636112 | | lcs | .num | | | | ; | @7777
|
225 | 7777+ | | .31: | ; | |
|
226 | 7777+ | 0616115 | | lod | .expflg | | | | ; |
|
227 | 7778 | 1157156 | | jz | .40 | | | | ; | @7778
|
228 | 7778+ | 0616123 | | lod | .work2 | | | | ; |
|
229 | 7779 | 0576112 | | o27 | .num | | | | ; | @7779
|
230 | 7779+ | 0616122 | | lod | .type | | | | ; |
|
231 | 7780 | 1057145 | | jz | .32 | | | | ; | @7780
|
232 | 7780+ | 1017171 | | jmp | .error | | | | ; |
|
233 | 7781 | | ; |
|
234 | 7781 | | .32: | ; | |
|
235 | 7781 | 1077155 | | jo | .39 | | | | ; | @7781
|
236 | 7781+ | 0616113 | | lod | .work1 | | | | ; |
|
237 | 7782 | | .33: | ; | |
|
238 | 7782 | 1540000 | | flt | 4096 | | | | ; | @7782
|
239 | 7782+ | | .34: | ; | |
|
240 | 7782+ | 0416113 | | sto | .work1 | | | | ; |
|
241 | 7783 | 0756112 | | lzs | .num | | | | ; | @7783
|
242 | 7783+ | 1157167 | | jz | .45 | | | | ; |
|
243 | 7784 | 0176217 | | bus | N76 | | | | ;=-76 | @7784
|
244 | 7784+ | 1137151 | | jn | .35 | | | | ; |
|
245 | 7785 | 0776112 | | o37 | .num | | | | ; | @7785
|
246 | 7785+ | | .35: | ; | |
|
247 | 7785+ | 0176217 | | bus | N76 | | | | ;=-76 |
|
248 | 7786 | 0400004 | | sto | 4 | | | | ; | @7786
|
249 | 7786+ | 0077153 | | and | .con | | | | ; |
|
250 | 7787 | 0200004 | .con: | exa | 4 | | | | ;=01000010020000 | @7787
|
251 | 7787+ | | .36: | ; | |
|
252 | 7787+ | 0020000 | | neg | 0 | | | | ; |
|
253 | 7788 | 1137153 | | jn | .36 | | | | ; | @7788
|
254 | 7788+ | 1016024 | | jmp | .37 | | | | ; |
|
255 | 7789 | | =7188 | |
|
256 | 7188 | | ; |
|
257 | 7188 | | .37: | ; | |
|
258 | 7188 | | | calln | , | | | | ; | @7188
|
258+1 | 7188 | 7370505017177 | | lnk | Read.powlnk | : | jmp | Pow10 | |
|
259 | 7189 | 0216113 | | exa | .work1 | | | | ; | @7189
|
260 | 7189+ | 1016005 | | jmp | .38 | | | | ; |
|
261 | 7190 | | ; |
|
262 | 7190 | | =7173 | |
|
263 | 7173 | | .38: | ; | |
|
264 | 7173 | 0000023476113 | | o00 | 4 | / | fmu | .work1 | ; | @7173
|
265 | 7174 | 1117146 | | jmp | .34 | | | | ; | @7174
|
266 | 7174+ | | ; |
|
267 | 7174+ | | =7789 | |
|
268 | 7789 | | .39: | ; | |
|
269 | 7789 | 0456112 | | inc | .num | | | | ; | @7789
|
270 | 7789+ | 0616356 | | lod | Math.Magic | | | | ;=0x0666666666 |
|
271 | 7790 | 1017146 | | jmp | .33 | | | | ; | @7790
|
272 | 7790+ | | ; |
|
273 | 7790+ | | .40: | ; | |
|
274 | 7790+ | 0136121 | | sub | .fracct | | | | ; |
|
275 | 7791 | 1037160 | | jn | .41 | | | | ; | @7791
|
276 | 7791+ | 0556121 | | cls | .fracct | | | | ; |
|
277 | 7792 | | .41: | ; | |
|
278 | 7792 | 0616130 | | lod | .digct | | | | ; | @7792
|
279 | 7792+ | 1137161 | | jn | .42 | | | | ; |
|
280 | 7793 | 1017162 | | jmp | .43 | | | | ; | @7793
|
281 | 7793+ | | ; |
|
282 | 7793+ | | .42: | ; | |
|
283 | 7793+ | 0140000 | | cla | 0 | | | | ; |
|
284 | 7794 | | .43: | ; | |
|
285 | 7794 | 0136121 | | sub | .fracct | | | | ; | @7794
|
286 | 7794+ | 0216112 | | exa | .num | | | | ; |
|
287 | 7795 | 0416113 | | sto | .work1 | | | | ; | @7795
|
288 | 7795+ | 0616122 | | lod | .type | | | | ; |
|
289 | 7796 | 1057145 | | jz | .32 | | | | ; | @7796
|
290 | 7796+ | 0616112 | | lod | .num | | | | ; |
|
291 | 7797 | 1057166 | | jz | .44 | | | | ; | @7797
|
292 | 7797+ | 1017171 | | jmp | .error | | | | ; |
|
293 | 7798 | | ; |
|
294 | 7798 | | .44: | ; | |
|
295 | 7798 | 0236120 | | o11 | .decptflg | | | | ; | @7798
|
296 | 7798+ | 1037171 | | jn | .error | | | | ; |
|
297 | 7799 | 1077171 | | jo | .error | | | | ; | @7799
|
298 | 7799+ | | .45: | ; | |
|
299 | 7799+ | 0616113 | | lod | .work1 | | | | ; |
|
300 | 7800 | 1000000 | | jmp | Return | | | | ; | @7800
|
301 | 7800+ | | ; |
|
302 | 7800+ | 0000000 | | o00 | 0 | | | | ; |
|
303 | 7801 | | ;-------------------------------------------------------------------- |
|
304 | 7801 | | .error: | ; | |
|
305 | 7801 | 0600001 | | lod | T2Link | | | | ; | @7801
|
306 | 7801+ | 0416123 | | sto | .work2 | | | | ; |
|
307 | 7802 | 0070522540100 | | o00 | .rdrno | / | cls | RdBuff | ; | @7802
|
308 | 7803 | 0616575 | | lod | Msg16 | | | | ;'READ ERROR' | @7803
|
309 | 7803+ | 0000000 | | o00 | 0 | | | | ; |
|
310 | 7804 | | | calln | , | | | | ; | @7804
|
310+1 | 7804 | 7300065016165 | | lnk | Link1 | : | jmp | outerror0 | |
|
311 | 7805 | 0616123 | | lod | .work2 | | | | ; | @7805
|
312 | 7805+ | 0400001 | | sto | T2Link | | | | ; |
|
313 | 7806 | 1017046 | | jmp | .1 | | | | ; | @7806
|
314 | 7806+ | | ; |
|
315 | 7806+ | 0000000 | | o00 | 0 | | | | ; |
|
316 | 7807 | | ;-------------------------------------------------------------------- |
|
317 | 7807 | | =7827 | |
|
318 | 7827 | | .SW: | ; | |
|
319 | 7827 | 4074311017100 | | jmp | .ig | : | jmp | .dig | ;00 bl 16 0 | @7827
|
320 | 7828 | 4074401017062 | | jmp | .dig | : | jmp | .ig | ;01 1 17 ( | @7828
|
321 | 7829 | 4074401017062 | | jmp | .dig | : | jmp | .ig | ;02 2 18 ) | @7829
|
322 | 7830 | 4074311017100 | | jmp | .ig | : | jmp | .dig | ;03 * 19 3 | @7830
|
323 | 7831 | 4074401017062 | | jmp | .dig | : | jmp | .ig | ;04 4 20 ? | @7831
|
324 | 7832 | 4075245017100 | | jmp | .dol | : | jmp | .dig | ;05 $ 21 5 | @7832
|
325 | 7833 | 4074311017100 | | jmp | .ig | : | jmp | .dig | ;06 = 22 6 | @7833
|
326 | 7834 | 4074401017062 | | jmp | .dig | : | jmp | .ig | ;07 7 23 / | @7834
|
327 | 7835 | 4074401117115 | | jmp | .dig | : | jmp | .ten | ;08 8 24 @ @7835 |
|
328 | 7836 | 4074311017100 | | jmp | .ig | : | jmp | .dig | ;09 ' 25 9 | @7836
|
329 | 7837 | 4074311117247 | | jmp | .ig | : | jmp | .qt | ;10 , 26 # | @7837
|
330 | 7838 | 4474371017071 | | jmp | .pl | : | jmp | .fs | ;11 + 27 FS | @7838
|
331 | 7839 | 4074311117244 | | jmp | .ig | : | jmp | .sp | ;12 : 28 SP | @7839
|
332 | 7840 | 4074365017062 | | jmp | .neg | : | jmp | .ig | ;13 - 29 CR | @7840
|
333 | 7841 | 4074455017062 | | jmp | .dot | : | jmp | .ig | ;14 . 30 LF | @7841
|
334 | 7842 | 4074310616225 | | jmp | .ig | : | lod | K32 | ;15 % 31 LS | @7842
|
335 | 7843 | 0070522400100 | | o00 | .rdrno | / | sto | RdBuff | ;store letter shift | @7843
|
336 | 7844 | 1017051 | | jmp | .lp | | | | ; | @7844
|
337 | 7844+ | | ; |
|
338 | 7844+ | | ; spaces come here |
|
339 | 7844+ | | .sp: | ; | |
|
340 | 7844+ | 0600025 | | lod | indev | | | | ;is special bit set? |
|
341 | 7845 | 1037051 | | jn | .lp | | | | ;yes, ignore it | @7845
|
342 | 7845+ | 1017062 | | jmp | .ig | | | | ;treat as possible delimiter |
|
343 | 7846 | | ; |
|
344 | 7846 | | ; opening string quote comes here |
|
345 | 7846 | | ; |
|
346 | 7846 | | =7847+ | |
|
347 | 7847+ | | .qt: | ; | |
|
348 | 7847+ | 0616114 | | lod | .numflg | | | | ;number read? |
|
349 | 7848 | 1057171 | | jz | .error | | | | ;no, error | @7848
|
350 | 7848+ | 1017136 | | jmp | .term | | | | ;yes, treat as terminator |
|
351 | 7849 | | ; |
|
352 | 7849 | | .dol: | ; | |
|
353 | 7849 | 0600001 | | lod | T2Link | | | | ; | @7849
|
354 | 7849+ | 0416111 | | sto | .temp | | | | ; |
|
355 | 7850 | | ;W7850: ; Dump copies this into EP13 |
|
356 | 7850 | | .calldwt: | ; | |
|
357 | 7850 | | | calln | , | | | | ;warbling wait | @7850
|
357+1 | 7850 | 7300005000035 | | lnk | T2Link | : | jmp | DWaitEnt | |
|
358 | 7851 | 0616111 | | lod | .temp | | | | ; | @7851
|
359 | 7851+ | 0400001 | | sto | T2Link | | | | ; |
|
360 | 7852 | 1017051 | | jmp | .lp | | | | ;then continue | @7852
|
361 | 7852+ | | ; |
|
362 | 7852+ | 0000000 | | o00 | 0 | | | | ; |
|
363 | 7853 | | ;-------------------------------------------------------------------- |
|
364 | 7853 | | =7807 | |
|
365 | 7807 | | ; |
|
366 | 7807 | | Pow10: | ; | |
|
367 | 7807 | 0436125 | | stn | .work3 | | | | ;save original exponent | @7807
|
368 | 7807+ | | .7807P: | ; | |
|
369 | 7807+ | 0020000 | | neg | 0 | | | | ;abs(ACC) |
|
370 | 7808 | 1137177 | | jn | .7807P | | | | ; | @7808
|
371 | 7808+ | 0176210 | | bus | N1 | | | | ;=-1 |
|
372 | 7809 | 1320040 | | sll | 32 | | | | ; | @7809
|
373 | 7809+ | 0416127 | | sto | .pwk2 | | | | ; |
|
374 | 7810 | 0616206 | | lod | FP1 | | | | ;=1.0 | @7810
|
375 | 7810+ | 0416126 | | sto | .pwk1 | | | | ;working result=1.0 |
|
376 | 7811 | 0056213 | | o02 | N8 | | | | ;=-8+1=>-7 loop counter | @7811
|
377 | 7811+ | | .7811P: | ; | |
|
378 | 7811+ | 0216127 | | exa | .pwk2 | | | | ;store count/load bits |
|
379 | 7812 | 1137206 | | jn | .7814P | | | | ;bit set, skip | @7812
|
380 | 7812+ | 0216126 | | exa | .pwk1 | | | | ;save bits, reload working result |
|
381 | 7813 | 0070537477223 | | o00 | .pwk2 | / | fmu | T7820+7 | ;;10;;n | @7813
|
382 | 7814 | 0216126 | | exa | .pwk1 | | | | ;save result, reload bits | @7814
|
383 | 7814+ | | .7814P: | ; | |
|
384 | 7814+ | 1320001 | | sll | 1 | | | | ;shift bits left 1 |
|
385 | 7815 | 0256127 | | exc | .pwk2 | | | | ;store bits,load count | @7815
|
386 | 7815+ | 1137203 | | jn | .7811P | | | | ;repeat if not all done |
|
387 | 7816 | 0616125 | | lod | .work3 | | | | ;load original exponent | @7816
|
388 | 7816+ | 1037213 | | jn | .7819 | | | | ;skip if negative |
|
389 | 7817 | 0616206 | | lod | FP1 | | | | ;=1.0 | @7817
|
390 | 7817+ | 1516126 | | fdv | .pwk1 | | | | ;generate inverse result 1.0/N |
|
391 | 7818 | | .7818: | ; | |
|
392 | 7818 | 0070507000001 | | o00 | .powlnk | / | jmp | 1 | ;return | @7818
|
393 | 7819 | | ; |
|
394 | 7819 | | .7819: | ; | |
|
395 | 7819 | 0616126 | | lod | .pwk1 | | | | ;load result and... | @7819
|
396 | 7819+ | 1017212 | | jmp | .7818 | | | | ; ... return it. |
|
397 | 7820 | | ; |
|
398 | 7820 | | T7820: | ; | |
|
399 | 7820 | 3023601745725 | | +03023601745725 | ;1E+64 | @7820
|
400 | 7821 | 2356132663553 | | +02356132663553 | ;1E+32 | @7821
|
401 | 7822 | 2160674467466 | | +02160674467466 | ;1E+16 | @7822
|
402 | 7823 | 2765702000433 | | +02765702000433 | ;1E+8 | @7823
|
403 | 7824 | 2342000000416 | | +02342000000416 | ;1E+4 | @7824
|
404 | 7825 | 3100000000407 | | +03100000000407 | ;1E+2 | @7825
|
405 | 7826 | 2400000000404 | | +02400000000404 | ;1E+1 | @7826
|
406 | 7827 | | ;-------------------------------------------------------------------- |
|