|
| | 118 | 4031+ | 0400010 | | sto | EP8 | | | | ;set EP8 |
|
| 119 | 4032 | 0210000 | | exa | +4096 | | | | ;test for small memory | @4032
|
| 120 | 4032+ | 0210000 | | exa | +4096 | | | | ; |
|
| 121 | 4033 | 1040007 | | jz | EP7 | | | | ;only 4096, loop stop at 7 |
|
| 122 | 4033+ | 0607540 | | lod | setep7 | | | | ;=<73 ocdflg : 40 9> |
|
| 123 | 4034 | 0400007 | | sto | 7 | | | | ;set EP7 | @4034
|
| 124 | 4034+ | 0607541 | | lod | setep18 | | | | ;=<40 Ep18 : 40 Ep18P> |
|
| 125 | 4035 | 0400022 | | sto | EP18 | | | | ; |
|
| 126 | 4035+ | 1107740 | | jmp | .10 | | | | ;goto 4064+ |
|
| 127 | 4036 | | ; set Ep19 before loading tape2 |
|
| 128 | 4036 | | =4064+ | |
|
| 129 | 4064+ | | .10: | ; | |
|
| 130 | 4064+ | 0607542 | | lod | setep19 | | | | ;=40 Ep19 : jmp Ep19P |
|
| 131 | 4065 | 0340023 | | stc | EP19 | | | | ;store in loc 19 |
|
| 132 | 4065+ | 1007704 | | jmp | .11 | | | | ;back to load tape2 |
|
| 133 | 4066 | | ; |
|
| 134 | 4066 | | ; skip first part of tape2 (up to >28 blanks) then load remainder |
|
| 135 | 4066 | | ; |
|
| 136 | 4066 | | =4036 | |
|
| 137 | 4036 | | .11: | ; | |
|
| 138 | 4036 | 1620000 | | inp | 0 | | | | |
|
| 139 | 4036+ | 1047704 | | jz | .11 | | | | ;skip header |
|
| 140 | 4037 | | .12: | ; | |
|
| 141 | 4037 | 0140000 | | cla | 0 | | | | ;clr acc |
|
| 142 | 4037+ | 1620000 | | inp | 0 | | | | ;get next char |
|
| 143 | 4038 | 1047707 | | jz | .13 | | | | ;if zero, break out | @4038
|
| 144 | 4038+ | 1007705 | | jmp | .12 | | | | ;repeat until zero |
|
| 145 | 4039 | | ; |
|
| 146 | 4039 | | .13: | ; | |
|
| 147 | 4039 | 0044342 | | o02 | K27 | | | | ;=27 +1 |
|
| 148 | 4039+ | 0427523 | | stn | Link33 | | | | ;set count=-28 |
|
| 149 | 4040 | | .14: | ; | |
|
| 150 | 4040 | 0140000 | | cla | 0 | | | | ;clr acc | @4040
|
| 151 | 4040+ | 1620000 | | inp | 0 | | | | ;get nxt char |
|
| 152 | 4041 | | | jnz | | | | | ;back to repeat |
|
| 152+1 | 4041 | 1047712 | | jz | .1 | | | | |
|
| 152+2 | 4041+ | 1007705 | | jmp | main.12 | | | | |
|
| 152+3 | 4042 | | .1: | ; | |
|
| 153 | 4042 | 0647523 | | lis | Link33 | | | | ;increment count | @4042
|
| 154 | 4042+ | 1027710 | | jn | .14 | | | | ;repeat if still negative |
|
| 155 | 4043 | 1667524 | | lnk | ocdflg | | | | ;set owncode flag off |
|
| 156 | 4043+ | 1667526 | | lnk | W3926 | | | | ;set relocation indicator non-zero |
|
| 157 | 4044 | 1117771 | | jmp | L8185P | | | | ;re-enter checking loader | @4044
|
| 158 | 4044+ | | ; ;to read remainder of tape2 |
|
| 159 | 4044+ | | ; ;tape 2 ends with jump to EP8 |
|
| 160 | 4044+ | | ; |
|
| 161 | 4044+ | | ;pause: ;wait for operator to flip sign bit |
|
| 162 | 4044+ | | ; |
|
| 163 | 4044+ | | pause.ent: | ; | |
|
| 164 | 4044+ | 1600000 | | kbd | 0 | | | | ;read WG for initial setting | @4044+
|
| 165 | 4045 | 1027717 | | jn | .p2 | | | | ;jump if negative |
|
| 166 | 4045+ | | .p1: | ; | |
|
| 167 | 4045+ | 1600000 | | kbd | 0 | | | | ;read again |
|
| 168 | 4046 | 1027720 | | jn | .pret | | | | ;exit if negative | @4046
|
| 169 | 4046+ | 1107715 | | jmp | .p1 | | | | ;repeat until it is |
|
| 170 | 4047 | | ; |
|
| 171 | 4047 | | .p2: | ; | |
|
| 172 | 4047 | 1600000 | | kbd | 0 | | | | ;read again |
|
| 173 | 4047+ | 1027717 | | jn | .p2 | | | | ;loop while negative |
|
| 174 | 4048 | | .pret: | ; | |
|
| 175 | 4048 | | | ret | | | | | ; | @4048
|
| 175+1 | 4048 | 0036517000001 | | o00 | main.lnk | / | jmp | 1 | |
|
| 176 | 4049 | | ;--------------------------------------------------- |
|
| 177 | 4049 | | ;end of compilation |
|
| 178 | 4049 | | ; |
|
| 179 | 4049 | | .compdone: | ; | |
|
| 180 | 4049 | | | nop | | | | | ;goto next instn |
|
| 180+1 | 4049 | 1107721 | | jmp | .1 | | | | |
|
| 180+2 | 4049+ | | .1: | ; | |
|
| 181 | 4049+ | 0607524 | | lod | ocdflg | | | | ;owncode flag |
|
| 182 | 4050 | | .hlt: | ; | |
|
| 183 | 4050 | 1047722 | | jz | .hlt | | | | ;loop stop if owncode only | @4050
|
| 184 | 4050+ | 0601425 | | lod | errsw | | | | ;errors detected? |
|
| 185 | 4051 | 1040010 | | jz | EP8 | | | | ;back for next compile run |
|
| 186 | 4051+ | 0747526 | | lzs | W3926 | | | | ;check if relocation needed, resetting |
|
| 187 | 4052 | 1047733 | | jz | .relskp | | | | ;skip relocation | @4052
|
| 188 | 4052+ | 0600012 | | lod | T2VEC | | | | ; tape2 base address |
|
| 189 | 4053 | 0500524 | | ads | W340 | | | | ; modify 2nd instn of pair |
|
| 190 | 4053+ | 1320024 | | sll | 20 | | | | ; shift to top half |
|
| 191 | 4054 | | ; ; following modify first |
|
| 192 | 4054 | | ; ; instruction of pair |
|
| 193 | 4054 | 0500520 | | ads | W336 | | | | ; | @4054
|
| 194 | 4054+ | 0500527 | | ads | W343 | | | | ; |
|
| 195 | 4055 | 0500075 | | ads | EP6SK | | | | ;|
| | 196 | 4055+ | 0500536 | | ads | W350 | | | | ; |
| | 197 | 4056 | 0500537 | | ads | W351 | | | | ; | @4056
| | 198 | 4056+ | 0100012 | | add | T2VEC | | | | ; add in to modify both |
| | 199 | 4057 | | ; ; instructions of the following pairs |
| | 200 | 4057 | 0500522 | | ads | W338 | | | | ; |
| | 201 | 4057+ | 0500525 | | ads | W341 | | | | ; |
| | 202 | 4058 | 0500530 | | ads | W344 | | | | ; | @4058
| | 203 | 4058+ | 0500534 | | ads | W348 | | | | ; |
| | 204 | 4059 | | .relskp: | ; | |
| | 205 | 4059 | 0601437 | | lod | W799 | | | | ;film switch |
| | 206 | 4059+ | 1047735 | | jz | .tocore | | | | ; to core |
| | 207 | 4060 | 1107767 | | jmp | .tofilm | | | | ; to film | @4060
| | 208 | 4060+ | | | pad | | | | | ; |
| | 208+1 | 4060+ | 0000000 | | 00 | 0 | | | | |
| | 209 | 4061 | | ; |
| | 210 | 4061 | | .tocore: | ; | |
| | 211 | 4061 | 0607532 | | lod | FreeMemPtr | | | | ;=4630 |
| | 212 | 4061+ | 0400072 | | sto | LoMeM | | | | ; |
| | 213 | 4062 | 0601421 | | lod | W785 | | | | ; | @4062
| | 214 | 4062+ | 0122205 | | sub | K2a | | | | ; |
| | 215 | 4063 | 2000232600001 | | sto | OcdRdP | / | lod | 1 | ; |
| | 216 | 4064 | 1000224 | | jmp | loadit.ent | | | | ;consolidate code | @4064
| | 217 | 4064+ | | ; |
| | 218 | 4064+ | | =4087+ | |
| | 219 | 4087+ | | .tofilm: | ; | |
| | 220 | 4087+ | 0042237 | | o02 | K19b | | | | ;=19+1=20 |
| | 221 | 4088 | 0400072 | | sto | LoMeM | | | | ; | @4088
| | 222 | 4088+ | 1010567 | | jmp | .tf1 | | | | ; |
| | 223 | 4089 | | ; |
| | 224 | 4089 | | =4470 | |
| | 225 | 4470 | 4002455000574 | W4470: | jmp | loadit.err | : | jmp | currchar | ;patch instruction | @4470
| | 226 | 4471 | | ; |
| | 227 | 4471 | | .tf1: | ; | |
| | 228 | 4471 | 0610566 | | lod | W4470 | | | | ;=|
| | 229 | 4471+ | 0340254 | | stc | loadit.172 | | | | ;patch loader |
| | 230 | 4472 | 0610562 | | lod | loadit.4466 | | | | ;move loader patch to lower mem | @4472
| | 231 | 4472+ | 0340574 | | stc | currchar | | | | ;to avoid being overwritten |
| | 232 | 4473 | 0610563 | | lod | loadit.4466+1 | | | | ; |
| | 233 | 4473+ | 0340575 | | stc | currchar+1 | | | | ; |
| | 234 | 4474 | 0610564 | | lod | loadit.4466+2 | | | | ; | @4474
| | 235 | 4474+ | 0340576 | | stc | currchar+2 | | | | ; |
| | 236 | 4475 | 1007742 | | jmp | .tf2 | | | | ;resume |
| | 237 | 4475+ | | ;-------------------------------------------------------------------- |
| | 238 | 4475+ | | =4066 | |
| | 239 | 4066 | | .tf2: | ; | |
| | 240 | 4066 | 0600107 | | lod | EP8SK | | | | ;=<00 0 : 44 _TAPE2+49> | @4066
| | 241 | 4066+ | 0100012 | | add | T2VEC | | | | ; |
| | 242 | 4067 | 0400010 | | sto | EP8 | | | | ; |
| | 243 | 4067+ | 0400011 | | sto | EP9 | | | | ; |
| | 244 | 4068 | 0600110 | | lod | W72 | | | | ; | @4068
| | 245 | 4068+ | 0100012 | | add | T2VEC | | | | ; |
| | 246 | 4069 | 0400317 | | sto | L207 | | | | ; |
| | 247 | 4069+ | 0041435 | | o02 | Work2 | | | | ; |
| | 248 | 4070 | 0400054 | | sto | W44 | | | | ; | @4070
| | 249 | 4070+ | 0601474 | | lod | W828 | | | | ; |
| | 250 | 4071 | 2000267742002 | | sto | W45 | / | o76 | 1026 | ;prepare to search |
| | 251 | 4072 | 0000263760000 | | o00 | W44 | / | o77 | 0 | ;do the search | @4072
| | 252 | 4073 | 0040104 | | o02 | FBuffP | | | | ; |
| | 253 | 4073+ | 0100105 | | add | K63a | | | | ; |
| | 254 | 4074 | 0400046 | | sto | OcdRdP | | | | ; | @4074
| | 255 | 4074+ | 0607532 | | lod | FreeMemPtr | | | | ; |
| | 256 | 4075 | 0361434 | | o17 | Work1 | | | | ; |
| | 257 | 4075+ | 1047764 | | jz | .tf5 | | | | ; |
| | 258 | 4076 | 0420004 | | stn | 4 | | | | ; | @4076
| | 259 | 4076+ | 0440004 | | inc | 4 | | | | ; |
| | 260 | 4077 | 0600104 | | lod | FBuffP | | | | ; |
| | 261 | 4077+ | 0400052 | | sto | fbptr | | | | ; |
| | 262 | 4078 | | .tf3: | ; | |
| | 263 | 4078 | 2206162577777 | | inc | Work1 | / | lod | -1 | ; | @4078
| | 264 | 4079 | 2200252377777 | | inc | fbptr | / | sto | -1 | ; |
| | 265 | 4080 | 0640004 | | lis | 4 | | | | ; | @4080
| | 266 | 4080+ | 1027756 | | jn | .tf3 | | | | ; |
| | 267 | 4081 | 0040000 | | o02 | 0 | | | | ;=1 |
| | 268 | 4081+ | 0160052 | | bus | fbptr | | | | ; |
| | 269 | 4082 | | .tf4: | ; | |
| | 270 | 4082 | 2000252600000 | | sto | fbptr | / | lod | 0 | ; | @4082
| | 271 | 4083 | 1660053 | | lnk | FilmFlg | | | | ; set film switch |
| | 272 | 4083+ | 1000224 | | jmp | loadit.ent | | | | ;consolidate code |
| | 273 | 4084 | | ; |
| | 274 | 4084 | | .tf5: | ; | |
| | 275 | 4084 | 0000267742000 | | o00 | W45 | / | o76 | 1024 | ;prepare to read from film | @4084
| | 276 | 4085 | 3000423760000 | | lod | FBuffP | / | o77 | 0 | ;do read |
| | 277 | 4086 | 0100105 | | add | K63a | | | | ; | @4086
| | 278 | 4086+ | 0440054 | | inc | W44 | | | | ; |
| | 279 | 4087 | 1007762 | | jmp | .tf4 | | | | ; |
| | 280 | 4087+ | | ; |
| | 281 | 4087+ | | ;-------------------------------------------------------------------- |
| | 282 | 4087+ | | ; |
| | 283 | 4087+ | | ; entry to syntax check only |
| | 284 | 4087+ | | ; |
| | 285 | 4087+ | | ;main:: |
| | 286 | 4087+ | | ; |
| | 287 | 4087+ | | =4584+ | |
| | 288 | 4584+ | | SynChk: | ; | |
| | 289 | 4584+ | | .synchk: | ; | |
| | 290 | 4584+ | 0541425 | | cls | errsw | | | | ; |
| | 291 | 4585 | 0607523 | | lod | Link33 | | | | ; |
| | 292 | 4585+ | 0130503 | | sub | W4419 | | | | ; |
| | 293 | 4586 | 1050754 | | jz | .sc1 | | | | ; | @4586
| | 294 | 4586+ | 0040000 | | o02 | 0 | | | | ;=1 |
| | 295 | 4587 | 0427524 | | stn | ocdflg | | | | ;owncode flag |
| | 296 | 4587+ | 1107544 | | jmp | .notape | | | | ; |
| | 297 | 4588 | | ; |
| | 298 | 4588 | | .sc1: | ; | |
| | 299 | 4588 | 0601513 | | lod | putcode.ret | | | | ;=<00 830 / jmp 1> | @4588
| | 300 | 4588+ | 0341500 | | stc | putcode.pat | | | | ; close off code generation |
| | 301 | 4589 | 1010467 | | jmp | Ep18 | | | | ; |
| | 302 | 4589+ | | | pad | | | | | ; |
| | 302+1 | 4589+ | 0000000 | | 00 | 0 | | | | |
| | 303 | 4590 | | ;-------------------------------------------------------------------- |
| | 304 | 4590 | | | ; | |
| | |