| 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 | | ;-------------------------------------------------------------------- |
|