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