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