|  | File: error.t2
For general comments see here 
| Line | Address | Object Code | Label | F1 | N1 | B | F2 | N2 | Comments | Check | 
|---|
 | 1 | 0 |  | ; tape1.d/error.t2 |  |  | 2 | 0 |  | ;----------------- |  |  | 3 | 0 |  | ; |  |  | 4 | 0 |  | =549 |  |  |  | 5 | 549 |  | Error:: | ; |  |  |  | 6 | 549 | 0000003641100 | .1mill: | +1000000 | ; | @549 |  | 7 | 550 | 0000000023220 | .K9872: | +9872 | ; | @550 |  | 8 | 551 |  | ; |  |  | 9 | 551 |  | .551: | ; |  |  |  | 10 | 551 | 1700034 |  | otp | SP |  |  |  | ;space | @551 |  | 11 | 551+ | 1101066 |  | jmp | .566P |  |  |  | ; |  |  | 12 | 552 |  | ; |  |  | 13 | 552 |  | .552: | ; |  |  |  | 14 | 552 | 0004107000001 |  | o00 | lookupkw.word | / | jmp | 1 | ;return | @552 |  | 15 | 553 |  | ;------------------------------------------------------------------- |  |  | 16 | 553 |  | Error1: | ; |  |  |  | 17 | 553 |  | .553: | ; |  |  |  | 18 | 553 | 0602222 |  | lod | K8191 |  |  |  | ; | @553 |  | 19 | 553+ |  | L553P: | ; only ref is unreferenced |  |  |  | 20 | 553+ |  | .553P: | ; |  |  |  | 21 | 553+ | 1010272 |  | jmp | ErrorHandler.go |  |  |  | ;branch to error handler proper |  |  | 22 | 554 |  | ;------------------------------------------------------------------- |  |  | 23 | 554 |  | ; no refs |  |  | 24 | 554 |  | .554: | ; |  |  |  | 25 | 554 | 1700036 |  | otp | LF |  |  |  | ;line feed | @554 |  | 26 | 554+ | 1700033 |  | otp | FS |  |  |  | ;figure shift |  |  | 27 | 555 | 0000000 |  | o00 | 0 |  |  |  | ; |  |  | 28 | 555+ | 0000000 |  | o00 | 0 |  |  |  | ; |  |  | 29 | 556 | 0601044 |  | lod | errlnk |  |  |  | ; | @556 |  | 30 | 556+ | 0062222 |  | and | K8191 |  |  |  | ; mask off address bits |  |  | 31 | 557 | 7304105101063 |  | lnk | lookupkw.word | : | jmp | L563P | ;call 563+ |  |  | 32 | 558 |  | ;------------------------------------------------------------------- |  |  | 33 | 558 |  | KbWait: | ; |  |  |  | 34 | 558 |  | .558: | ; |  |  |  | 35 | 558 | 1600000 |  | kbd | 0 |  |  |  | ;read WG | @558 |  | 36 | 558+ | 1121060 |  | o45 | .560 |  |  |  | ;sign bit set? |  |  | 37 | 559 |  | .559: | ; |  |  |  | 38 | 559 | 1600000 |  | kbd | 0 |  |  |  | ;read WG again |  |  | 39 | 559+ | 1121061 |  | jn | .561 |  |  |  | ;set now |  |  | 40 | 560 | 1001057 |  | jmp | .559 |  |  |  | ;loop back until it is |  |  | 41 | 560+ |  | ; |  |  | 42 | 560+ |  | .560: | ; |  |  |  | 43 | 560+ | 1600000 |  | kbd | 0 |  |  |  | ;read WG again |  |  | 44 | 561 | 1121060 |  | jn | .560 |  |  |  | ;still set, loop back |  |  | 45 | 561+ |  | .561: | ; |  |  |  | 46 | 561+ | 0601020 |  | lod | W528 |  |  |  | ; can we recover? |  |  | 47 | 562 | 0004223040001 |  | o00 | errlnk | / | jz | 1 | ;return to recovery point |  |  | 48 | 563 |  | .563: | ; |  |  |  | 49 | 563 | 1001063 |  | jmp | .563 |  |  |  | ;loop stop if not |  |  | 50 | 563+ |  | ;------------------------------------------------ |  |  | 51 | 563+ |  | ; no refrenced refs |  |  | 52 | 563+ |  | L563P: | ; |  |  |  | 53 | 563+ |  | .563P: | ; |  |  |  | 54 | 563+ | 0401015 |  | sto | lookupkw.work |  |  |  | ; | @563+ |  | 55 | 564 | 0602210 |  | lod | K7a |  |  |  | ;=7 |  |  | 56 | 564+ | 0421016 |  | stn | W526 |  |  |  | ; =-7 |  |  | 57 | 565 | 0601106 |  | lod | W582 |  |  |  | ; | @565 | | 58 | 565+ | 0401076 |  | sto | W574 |  |  |  | ; |  |  | 59 | 566 |  | .566: | ; |  |  |  | 60 | 566 | 0541017 |  | cls | W527 |  |  |  | ; | @566 |  | 61 | 566+ |  | .566P: | ; |  |  |  | 62 | 566+ | 0601015 |  | lod | lookupkw.work |  |  |  | ; |  |  | 63 | 567 |  | .567: | ; |  |  |  | 64 | 567 | 0121045 |  | sub | .1mill |  |  |  | ; | @567 |  | 65 | 567+ | 1101071 |  | jmp | .569P |  |  |  | ; |  |  | 66 | 568 |  | ;-------------------------------- |  |  | 67 | 568 | 0602222 | Error: | lod | K8191 |  |  |  | ; | @568 |  | 68 | 568+ | 1010272 |  | jmp | ErrorHandler.go |  |  |  | ;branch into error handler |  |  | 69 | 569 |  | ;-------------------------------- |  |  | 70 | 569 |  | ; no refs |  |  | 71 | 569 |  | .569: | ; |  |  |  | 72 | 569 | 1101051 |  | jmp | L553P |  |  |  | ; |  |  | 73 | 569+ |  | ;-------------------------------- |  |  | 74 | 569+ |  | .569P: | ; |  |  |  | 75 | 569+ | 1021073 |  | jn | .571 |  |  |  | ; |  |  | 76 | 570 | 0441017 |  | inc | W527 |  |  |  | ; | @570 |  | 77 | 570+ | 1001067 |  | jmp | .567 |  |  |  | ; |  |  | 78 | 571 |  | ; |  |  | 79 | 571 |  | .571: | ; |  |  |  | 80 | 571 | 0101045 |  | add | .1mill |  |  |  | ; |  |  | 81 | 571+ | 0401015 |  | sto | lookupkw.work |  |  |  | ; |  |  | 82 | 572 | 0501015 |  | ads | lookupkw.work |  |  |  | ;\ | @572 |  | 83 | 572+ | 1320003 |  | sll | 3 |  |  |  | ; \ |  |  | 84 | 573 | 0501015 |  | ads | lookupkw.work |  |  |  | ;  *10 |  |  | 85 | 573+ | 0441016 |  | inc | W526 |  |  |  | ; |  |  | 86 | 574 | 0000000 | W574: | o00 | 0 |  |  |  | ;may be patched to: | @574 |  | 87 | 574+ | 0000000 |  | o00 | 0 |  |  |  | ;lod W527 : jz  .580P |  |  | 88 | 575 |  | W575: | ; |  |  |  | 89 | 575 | 0601046 | .575: | lod | .K9872 |  |  |  | ; | @575 |  | 90 | 575+ | 0000020 |  | o00 | +16 |  |  |  | ;in-line constant used below |  |  | 91 | 576 | 0004077220000 |  | o00 | W527 | / | srl | 0 | ; |  |  | 92 | 577 | 0061077 |  | and | W575 |  |  |  | ;=16 |  |  | 93 | 577+ | 0541076 |  | cls | W574 |  |  |  | ;convert back to nops |  |  | 94 | 578 | 2404077700000 |  | ads | W527 | / | otp | 0 | ; | @578 |  | 95 | 579 | 0601016 |  | lod | W526 |  |  |  | ; |  |  | 96 | 579+ | 1021066 |  | jn | .566 |  |  |  | ; |  |  | 97 | 580 | 1001050 |  | jmp | .552 |  |  |  | ; | @580 |  | 98 | 580+ |  | ; |  |  | 99 | 580+ |  | .580P: | ; |  |  |  | 100 | 580+ | 0601016 |  | lod | W526 |  |  |  | ; |  |  | 101 | 581 | 1021047 |  | jn | .551 |  |  |  | ; |  |  | 102 | 581+ | 1001077 |  | jmp | .575 |  |  |  | ; |  |  | 103 | 582 |  | ; |  |  | 104 | 582 | 3004075141104 | W582: | lod | W527 | : | jz | .580P | ;to be stored in W574 above | @582 |  | 105 | 583 |  | ; |  |  | 106 | 583 |  | L583.ent: | ; |  |  |  | 107 | 583 | 0541020 |  | cls | W528 |  |  |  | ;indicate return possible |  |  | 108 | 583+ | 1001056 |  | jmp | KbWait |  |  |  | ; |  |  | 109 | 584 |  | ;------------------------------------------------------------------- |  |  | 110 | 584 |  | ErrorHandler:: | ; |  |  |  | 111 | 584 |  | ; |  |  | 112 | 584 |  | =4250 |  |  |  | 113 | 4250 |  | .report: | ; |  |  |  | 114 | 4250 | 1714035 |  | otp | TP+CR |  |  |  | ; | @4250 |  | 115 | 4250+ | 1714036 |  | otp | TP+LF |  |  |  | ; |  |  | 116 | 4251 | 1220000 |  | srl | 0 |  |  |  | ;clear AR |  |  | 117 | 4251+ | 0541415 |  | cls | work1 |  |  |  | ;clear index |  |  | 118 | 4252 |  | ; from 4254+ |  |  | 119 | 4252 | 2206066610322 | .loop0: | inc | work1 | / | lod | errtab | ;get possible value | @4252 |  | 120 | 4253 | 1030271 |  | jn | .crash |  |  |  | ;end of list, system error |  |  | 121 | 4253+ | 0121044 |  | sub | errlnk |  |  |  | ;error address |  |  | 122 | 4254 | 1050663 |  | jz | L4531 |  |  |  | ;match - goto patched bit | @4254 |  | 123 | 4254+ | 1010234 |  | jmp | .loop0 |  |  |  | ;continue loop |  |  | 124 | 4255 |  | ; |  |  | 125 | 4255 |  | ;------------------------------------------------------------ |  |  | 126 | 4255 |  | =4531 |  |  |  | 127 | 4531 |  | ; found match in error table |  |  | 128 | 4531 |  | ; |  |  | 129 | 4531 |  | L4531: | ; |  |  |  | 130 | 4531 | 0601513 | .4531: | lod | putcode.ret |  |  |  | ;=<00 .lnk / jmp 1>  return |  |  | 131 | 4531+ | 0341500 |  | stc | putcode.pat |  |  |  | ;close off generate routine |  |  | 132 | 4532 | 0550624 |  | cls | W4500 |  |  |  | ; | @4532 |  | 133 | 4532+ | 1010237 |  | jmp | L4255 |  |  |  | ;back to error routine |  |  | 134 | 4533 |  | =4255 |  |  |  | 135 | 4255 |  | ; match above comes here after patched bit |  |  | 136 | 4255 |  | L4255: | ; |  |  |  | 137 | 4255 |  | .4255: | ; |  |  |  | 138 | 4255 | 0610306 |  | lod | errmsg |  |  |  | ;="ERROR " | @4255 |  | 139 | 4255+ | 1200036 |  | sra | 30 |  |  |  | ;shift into AR |  |  | 140 | 4256 |  |  | call |  |  |  |  | ; display word | @4256 |  | 140+1 | 4256 | 7306155010274 |  | lnk | dispwd.lnk | : | jmp | dispwd.ent |  |  |  | 141 | 4257 | 0610307 |  | lod | errmsg+1 |  |  |  | ;="NO. ~~" |  |  | 142 | 4257+ | 1200036 |  | sra | 30 |  |  |  | ;shift into AR |  |  | 143 | 4258 |  |  | call |  |  |  |  | ; display word | @4258 |  | 143+1 | 4258 | 7306155010274 |  | lnk | dispwd.lnk | : | jmp | dispwd.ent |  |  |  | 144 | 4259 | 0604312 |  | lod | K20 |  |  |  | ;=20 |  |  | 145 | 4259+ | 0121415 |  | sub | work1 |  |  |  | ;check for error 20 |  |  | 146 | 4260 | 1010734 |  | jmp | L4572 |  |  |  | ;turn off code gen, etc. | @4260 |  | 147 | 4260+ |  | ; return here if not error 20 |  |  | 148 | 4260+ |  | L4260P: | ; |  |  |  | 149 | 4260+ |  | .4260P: | ; |  |  |  | 150 | 4260+ | 0540576 |  | cls | ident |  |  |  |  |  |  | 151 | 4261 |  | ; from 4572 |  |  | 152 | 4261 |  | L4261: | ; |  |  |  | 153 | 4261 |  | .4261: | ; |  |  |  | 154 | 4261 | 1220000 |  | srl | 0 |  |  |  | ;clear AR |  |  | 155 | 4261+ |  | ; loop from 4266+ |  |  | 156 | 4261+ |  | .loop1: | ; |  |  |  | 157 | 4261+ | 0741415 |  | lzs | work1 |  |  |  | ;get index, clr mem |  |  | 158 | 4262 | 1050253 |  | jz | .done |  |  |  | ;zero, finished | @4262 |  | 159 | 4262+ |  | ; from 4264 |  |  | 160 | 4262+ |  | .loop2: | ; |  |  |  | 161 | 4262+ | 0124331 |  | sub | K10a |  |  |  | ;=10 |  |  | 162 | 4263 | 1130250 |  | jn | .brk1 |  |  |  | ; break if negative |  |  | 163 | 4263+ | 0441415 |  | inc | work1 |  |  |  | ;increment tens |  |  | 164 | 4264 | 1110246 |  | jmp | .loop2 |  |  |  | ;loop back | @4264 |  | 165 | 4264+ |  | ; |  |  | 166 | 4264+ |  | .brk1: | ; |  |  |  | 167 | 4264+ | 0104331 |  | add | K10a |  |  |  | ;add back the ten |  |  | 168 | 4265 | 1600022110310 |  | stc | 4 | / | add | digits | ;convert to character |  |  | 169 | 4266 | 1200006 |  | sra | 6 |  |  |  | ;shift into AR | @4266 |  | 170 | 4266+ | 1110245 |  | jmp | .loop1 |  |  |  | ;loop back and do tens |  |  | 171 | 4267 |  | ; |  |  | 172 | 4267 |  | .done: | call |  |  |  |  | ;discard acc then |  |  | 172+1 | 4267 | 7306155010303 |  | lnk | dispwdb.lnk | : | jmp | dispwdb.ent |  |  |  | 173 | 4268 |  | ;    ;display contents of AR |  |  | 174 | 4268 | 0600576 |  | lod | ident |  |  |  | ;identifier | @4268 |  | 175 | 4268+ | 1050260 |  | jz | .skip |  |  |  | ;none, skip |  |  | 176 | 4269 | 1200044 |  | sra | 36 |  |  |  | ;shift into AR |  |  | 177 | 4269+ |  | ; loop until non-blank char found |  |  | 178 | 4269+ | 1300006 | .loop3: | sla | 6 |  |  |  | ;shift first char back |  |  | 179 | 4270 | 1150255 |  | jz | .loop3 |  |  |  | ;skip leading nulls | @4270 |  | 180 | 4270+ | 1714034 |  | otp | TP+' ' |  |  |  | ;display SP |  |  | 181 | 4271 |  |  | call |  |  |  |  | ;display wd |  |  | 181+1 | 4271 | 7306155010275 |  | lnk | dispwda.lnk | : | jmp | dispwda.ent |  |  |  | 182 | 4272 |  | ; from 4268+ |  |  | 183 | 4272 |  | .skip: | ; |  |  |  | 184 | 4272 | 1714035 |  | otp | TP+CR |  |  |  | ;display CR | @4272 |  | 185 | 4272+ | 1714036 |  | otp | TP+LF |  |  |  | ;display LF |  |  | 186 | 4273 | 0600576 |  | lod | ident |  |  |  | ;identfier? |  |  | 187 | 4273+ | 1050665 |  | jz | L4533 |  |  |  | ;no, skip |  |  | 188 | 4274 | 0600574 |  | lod | currchar |  |  |  | ; | @4274 |  | 189 | 4274+ | 0000000 |  | o00 | 0 |  |  |  | ; |  |  | 190 | 4275 |  |  | call |  |  |  |  | ; |  |  | 190+1 | 4275 | 7303015000605 |  | lnk | getchara.lnk | : | jmp | getchara.ent |  |  |  | 191 | 4276 | 1010722 |  | jmp | L4562 |  |  |  | ; | @4276 |  | 192 | 4276+ | 1010722 |  | jmp | L4562 |  |  |  | ; |  |  | 193 | 4277 | 1010722 |  | jmp | L4562 |  |  |  | ; |  |  | 194 | 4277+ | 1010722 |  | jmp | L4562 |  |  |  | ; |  |  | 195 | 4278 | 1010267 |  | jmp | .4279 |  |  |  | ; | @4278 |  | 196 | 4278+ | 1000604 |  | jmp | getchar.ent |  |  |  | ; |  |  | 197 | 4279 |  | ; |  |  | 198 | 4279 |  | .4279: | ; |  |  |  | 199 | 4279 | 0042245 |  | o02 | K16 |  |  |  | ;=16 |  |  | 200 | 4279+ | 0120574 |  | sub | currchar |  |  |  | ; |  |  | 201 | 4280 | 1150732 |  | jz | L4570P |  |  |  | ; | @4280 |  | 202 | 4280+ | 1010722 |  | jmp | L4562 |  |  |  |  |  |  | 203 | 4281 |  | ; |  |  | 204 | 4281 |  | ; compiler error, punch continuous '.'s |  |  | 205 | 4281 |  | ; |  |  | 206 | 4281 | 1700016 | .crash: | otp | '.' |  |  |  | ;punch '.' |  |  | 207 | 4281+ | 1010271 |  | jmp | .crash |  |  |  | ; loop until reset |  |  | 208 | 4282 |  | ; |  |  | 209 | 4282 |  | ; entry from main body - acc should contain 8191 |  |  | 210 | 4282 | 0461044 | .go: | ans | errlnk |  |  |  | ; eliminate higher bits |  |  | 211 | 4282+ | 0541435 |  | cls | Work2 |  |  |  | ; assume fig shift on printer |  |  | 212 | 4283 | 1010232 |  | jmp | .report |  |  |  | ; produce error message etc. |  |  | 213 | 4283+ |  | ; |  |  | 214 | 4283+ | 0000000 |  | o00 | 0 |  |  |  |  |  |  | 215 | 4284 |  | ;------------------------------------------------------------------ |  |  | 216 | 4284 |  | ; display word in ACC:AR |  |  | 217 | 4284 |  | ; keeping track of shifts of course |  |  | 218 | 4284 |  | ; |  |  | 219 | 4284 |  | dispwd:: | ; |  |  |  | 220 | 4284 |  | ; |  |  | 221 | 4284 |  | .ent: | ; |  |  |  | 222 | 4284 | 0006157040001 |  | o00 | .lnk | / | jz | 1 | ;return +1 if =0 | @4284 |  | 223 | 4285 |  | ; |  |  | 224 | 4285 |  | dispwda.ent: | ; |  |  |  | 225 | 4285 | 0401434 |  | sto | Work1 |  |  |  | ;save character for display |  |  | 226 | 4285+ | 0064314 |  | and | K32a |  |  |  | ;=32 mask off letter/fig bit |  |  | 227 | 4286 | 0201435 |  | exa | Work2 |  |  |  | ;present setting | @4286 |  | 228 | 4286+ | 0121435 |  | sub | Work2 |  |  |  | ; == present setting |  |  | 229 | 4287 | 1050302 |  | jz | .noshift |  |  |  | ;yes, punch character |  |  | 230 | 4287+ | 0601435 |  | lod | Work2 |  |  |  | ;reload setting |  |  | 231 | 4288 | 1050301 |  | jz | .fs |  |  |  | ;, zero, display FS | @4288 |  | 232 | 4288+ | 0604347 |  | lod | K4a |  |  |  | ;=4, modify to LS |  |  | 233 | 4289 |  | .fs: | ; |  |  |  | 234 | 4289 | 1600023714033 |  | stc | 4 | / | otp | TP+FS | ;6K+FS (or LS if modified) |  |  | 235 | 4290 |  | .noshift: | ; |  |  |  | 236 | 4290 | 0006163714000 |  | o00 | Work1 | / | otp | TP | ;6K+char | @4290 |  | 237 | 4291 |  | ; |  |  | 238 | 4291 |  | dispwdb.ent: | ; |  |  |  | 239 | 4291 | 1300006 |  | sla | 6 |  |  |  | ;shift next char from AR to ACC |  |  | 240 | 4291+ | 1010274 |  | jmp | .ent |  |  |  | ;and loop back |  |  | 241 | 4292 |  | ; |  |  | 242 | 4292 |  | dispwdc.ent: | ; |  |  |  | 243 | 4292 | 0541435 |  | cls | Work2 |  |  |  | ; | @4292 |  | 244 | 4292+ | 1200036 |  | sra | 30 |  |  |  | ; |  |  | 245 | 4293 | 1010274 |  | jmp | dispwd.ent |  |  |  | ; jump back into dispwd |  |  | 246 | 4293+ |  | ; |  |  | 247 | 4293+ | 0000000 |  | o00 | 0 |  |  |  |  |  |  | 248 | 4294 |  | ;-------------------------------------------------------------------- |  |  | 249 | 4294 | 0456262576234 | errmsg: | 'ERROR\34' | ; | @4294 |  | 250 | 4295 | 0565716340000 |  | 'NO. \00\00' | ; |  |  | 251 | 4296 |  | ; |  |  | 252 | 4296 | 0000000000031 | digits: | '0','1','2','3','4','5','6','7','8','9' |  |  |  | 253 | 4306 |  | ; |  |  | 254 | 4306 |  | errtab: | ; |  |  |  | 255 | 4306 | 0000000002403 |  | +0,+_err01,+_err02,+_err03 | ;0,1,2,3,  ; | @4306 |  | 256 | 4310 | 0000000002541 |  | +_err04,+_err05,+_err06,+_err07 | ;4,5,6,7,  ; | @4310 |  | 257 | 4314 | 0000000002757 |  | +_err08,+_err09,+_err10,+_err11 | ;8,9,10,11,  ; | @4314 |  | 258 | 4318 | 0000000003217 |  | +_err12,+_err13,+_err14,+_err15 | ;12,13,14,15,  ; | @4318 |  | 259 | 4322 | 0000000004445 |  | +_err16,+_err17,+_err18,+_err19 | ;16,17,18,19,  ; | @4322 |  | 260 | 4326 | 0000000004454 |  | +_err20,+_err21,+_err22,+2348 | ;20,21,22,23,  ; | @4326 |  | 261 | 4330 | 0000000005155 |  | +_err24,+_err25,+_err26,+_err27 | ;24,25,26,27,  ; | @4330 |  | 262 | 4334 | 0000000005373 |  | +_err28,+_err29,+_err30,+_err31 | ;28,29,30,31,  ; | @4334 |  | 263 | 4338 | 0000000005672 |  | +_err32,+_err33,+_err34,+_err35 | ;32,33,34,35,  ; | @4338 |  | 264 | 4342 | 0000000007636 |  | +_err36,+_err37,+_err38,+_err39 | ;36,37,38,39,  ; | @4342 |  | 265 | 4346 | 0000000006613 |  | +_err40,+_err41,+_err42,+_err43 | ;40,41,42,43,  ; | @4346 |  | 266 | 4350 | 0000000007240 |  | +_err44,+_err45,+_err46,+_err47 | ;44,45,46,47,  ; | @4350 |  | 267 | 4354 | 0000000004216 |  | +_err48,+_err49,+_err50,+_err51 | ;48,49,50,51,  ; | @4354 |  | 268 | 4358 | 7777777777777 |  | +_err52,+_err53,+_err54,-1 | ;52,53,54,---  ; | @4358 |  | 269 | 4362 |  | ;------------------------------------------------------------- |  |  | 270 | 4362 |  | =4514 |  |  |  | 271 | 4514 |  | ; |  |  | 272 | 4514 |  | ; comes here when finished error recovery |  |  | 273 | 4514 |  | ; |  |  | 274 | 4514 |  | L4514: | ; |  |  |  | 275 | 4514 |  | .4514: | call |  |  |  |  | ; | @4514 |  | 275+1 | 4514 | 7336515107714 |  | lnk | pause.lnk | : | jmp | pause.ent |  |  |  | 276 | 4515 | 0610655 |  | lod | getchar.ipnorm |  |  |  | ;=<06 0:71 0> |  |  | 277 | 4515+ | 0340604 |  | stc | getchar.ent |  |  |  | ;reset getchar |  |  | 278 | 4516 | 0541425 |  | cls | errsw |  |  |  | ; | @4516 |  | 279 | 4516+ | 0540602 |  | cls | incomment |  |  |  | ;reset comment flag |  |  | 280 | 4517 | 0610622 |  | lod | W4498 |  |  |  | ; |  |  | 281 | 4517+ | 0342151 |  | stc | stkp |  |  |  | ; |  |  | 282 | 4518 | 0043107010651 |  | o00 | W4497 | / | jmp | .sw4519+2 | ;re-enter compiler | @4518 |  | 283 | 4519 |  | ; |  |  | 284 | 4519 |  | .sw4519: | ; |  |  |  | 285 | 4519 | 4011260000000 |  | jmp | declaration.loop | : | o00 | 0 | ;-2 | @4519 |  | 286 | 4520 | 4011510000000 |  | jmp | declaration.idlst | : | o00 | 0 | ;-1 | @4520 |  | 287 | 4521 | 4015340000000 |  | jmp | L1720 | : | o00 | 0 | ;0 | @4521 |  | 288 | 4522 | 4011414000000 |  | jmp | declaration.recover | : | o00 | 0 | ;+1 | @4522 |  | 289 | 4523 |  | ; |  |  | 290 | 4523 |  | L4523: | ; |  |  |  | 291 | 4523 | 0570622 | .4523: | o27 | W4498 |  |  |  | ; | @4523 |  | 292 | 4523+ | 0167525 |  | bus | stkbase |  |  |  | ; |  |  | 293 | 4524 | 1102027 |  | jmp | L1047P |  |  |  | ; | @4524 |  | 294 | 4524+ |  | ; |  |  | 295 | 4524+ | 0000000 |  | o00 | 0 |  |  |  | ; |  |  | 296 | 4525 |  | ; |  |  | 297 | 4525 |  | =4533 |  |  |  | 298 | 4533 |  | ;------------------------------------------------------------ |  |  | 299 | 4533 |  | ; skip source code to suitable point, copying |  |  | 300 | 4533 |  | Recovery:: | ; |  |  |  | 301 | 4533 |  | L4533: | ; |  |  |  | 302 | 4533 |  | .4533: | ; |  |  |  | 303 | 4533 |  |  | call |  |  |  |  | ;call 4558+ |  |  | 303+1 | 4533 | 7343115110716 |  | lnk | L4558P.lnk | : | jmp | L4558P.ent |  |  |  | 304 | 4534 |  | .4534: | ; |  |  |  | 305 | 4534 |  |  | call |  |  |  |  | ; | @4534 |  | 305+1 | 4534 | 7305105001222 |  | lnk | gettoken.lnk | : | jmp | gettoken.ent |  |  |  | 306 | 4535 |  | .4535: | ; |  |  |  | 307 | 4535 | 0600600 |  | lod | token |  |  |  | ;token |  |  | 308 | 4535+ | 0122211 |  | sub | K4 |  |  |  | ;=4 [end] |  |  | 309 | 4536 | 1050675 |  | jz | .4541 |  |  |  | ; check for end of copy | @4536 |  | 310 | 4536+ | 0124340 |  | sub | K2b |  |  |  | ;=2 [begin] |  |  | 311 | 4537 | 1050674 |  | jz | .4540 |  |  |  | ; count it |  |  | 312 | 4537+ | 0124340 |  | sub | K2b |  |  |  | ;=2 ['] |  |  | 313 | 4538 | 1050707 |  | jz | .4551 |  |  |  | ; check for end of copy | @4538 |  | 314 | 4538+ | 0122223 |  | sub | K31b |  |  |  | ;=31 [else] |  |  | 315 | 4539 | 1050666 |  | jz | .4534 |  |  |  | ;ignore |  |  | 316 | 4539+ | 1010666 |  | jmp | .4534 |  |  |  | ;continue copy |  |  | 317 | 4540 |  | ; |  |  | 318 | 4540 |  | ; token=[begin], bump nesting count |  |  | 319 | 4540 |  | .4540: | ; |  |  |  | 320 | 4540 | 0450624 |  | inc | W4500 |  |  |  | ;increment count | @4540 |  | 321 | 4540+ | 1010666 |  | jmp | .4534 |  |  |  | ;continue copy |  |  | 322 | 4541 |  | ; |  |  | 323 | 4541 |  | ; token=[end], decrement nesting count |  |  | 324 | 4541 |  | .4541: | ; |  |  |  | 325 | 4541 | 0040000 |  | o02 | 0 |  |  |  | ;=1 |  |  | 326 | 4541+ | 0770624 |  | o37 | W4500 |  |  |  | ;decrement count |  |  | 327 | 4542 | 1050642 |  | jz | L4514 |  |  |  | ;exit if zero | @4542 |  | 328 | 4542+ | 1010666 |  | jmp | .4534 |  |  |  | ;continue loop |  |  | 329 | 4543 |  | ; |  |  | 330 | 4543 |  | =4544+ |  |  |  | 331 | 4544+ |  | ; |  |  | 332 | 4544+ |  | ; from 4551+, non-nested ['] |  |  | 333 | 4544+ |  | .4544P: | ; |  |  |  | 334 | 4544+ | 0610625 |  | lod | W4501 |  |  |  | ;is flag set? |  |  | 335 | 4545 | 1050642 |  | jz | L4514 |  |  |  | ;no, finished copying |  |  | 336 | 4545+ | 0402160 |  | sto | dicpt |  |  |  | ; |  |  | 337 | 4546 |  |  | call |  |  |  |  | ; | @4546 |  | 337+1 | 4546 | 7305105001222 |  | lnk | gettoken.lnk | : | jmp | gettoken.ent |  |  |  | 338 | 4547 | 0600600 |  | lod | token |  |  |  | ;token |  |  | 339 | 4547+ | 0122176 |  | sub | K9a |  |  |  | ;=9 |  |  | 340 | 4548 | 1030706 |  | jn | .4550 |  |  |  | ;statement starter | @4548 |  | 341 | 4548+ | 0162240 |  | bus | K10b |  |  |  | ;=10 |  |  | 342 | 4549 | 1030706 |  | jn | .4550 |  |  |  | ;declaration |  |  | 343 | 4549+ | 1010666 |  | jmp | .4534 |  |  |  | ;nonsense, more errors |  |  | 344 | 4550 |  | ; |  |  | 345 | 4550 |  | .4550: | ; |  |  |  | 346 | 4550 | 0550625 |  | cls | W4501 |  |  |  | ;reset flag | @4550 |  | 347 | 4550+ | 1010667 |  | jmp | .4535 |  |  |  | ;re-enter scan |  |  | 348 | 4551 |  | ; |  |  | 349 | 4551 |  | ; token=['], check if nested |  |  | 350 | 4551 |  | .4551: | ; |  |  |  | 351 | 4551 | 0610624 |  | lod | W4500 |  |  |  | ;nesting count |  |  | 352 | 4551+ | 1150700 |  | jz | .4544P |  |  |  | ;zero, we can finish |  |  | 353 | 4552 | 1010666 |  | jmp | .4534 |  |  |  | ;non-zero, continue scan | @4552 |  | 354 | 4552+ |  | ;-------------------------------------------------------------------- |  |  | 355 | 4552+ |  | ; |  |  | 356 | 4552+ |  | L4552P.ent: | ; |  |  |  | 357 | 4552+ | 0601500 |  | lod | putcode.pat |  |  |  | ;check gate to codegen |  |  | 358 | 4553 | 0121501 |  | sub | putcode.pat+1 |  |  |  | ;open state? |  |  | 359 | 4553+ | 1041571 |  | jz | GenFinish.1 |  |  |  | ;yes-> |  |  | 360 | 4554 | 0227524 |  | o11 | ocdflg |  |  |  | ;owncode flag | @4554 |  | 361 | 4554+ | 1030715 |  | jn | .4557 |  |  |  | ; |  |  | 362 | 4555 | 0607521 |  | lod | titleend |  |  |  | ; |  |  | 363 | 4555+ | 0347525 |  | stc | stkbase |  |  |  | ; |  |  | 364 | 4556 | 0607515 |  | lod | titleptr |  |  |  | ; | @4556 |  | 365 | 4556+ | 0342151 |  | stc | stkp |  |  |  | ; |  |  | 366 | 4557 |  | .4557: | ; |  |  |  | 367 | 4557 |  |  | call |  |  |  |  | ; |  |  | 367+1 | 4557 | 7336515107503 |  | lnk | L3907P.lnk | : | jmp | L3907P.ent |  |  |  | 368 | 4558 |  | L4558: | ; |  |  |  | 369 | 4558 |  | .4558: | ; |  |  |  | 370 | 4558 | 1010716 |  | jmp | L4558 |  |  |  | ;dynamic halt |  |  | 371 | 4558+ |  | ;-------------------------------------------------------------------- |  |  | 372 | 4558+ |  | ; |  |  | 373 | 4558+ |  | L4558P:: | ; |  |  |  | 374 | 4558+ |  | ; |  |  | 375 | 4558+ |  | .ent: | ; |  |  |  | 376 | 4558+ | 1660602 |  | lnk | incomment |  |  |  | ;set comment flag != 0 | @4558+ |  | 377 | 4559 | 0450623 |  | inc | Link33a |  |  |  | ; |  |  | 378 | 4559+ | 1110737 |  | jmp | .4575P |  |  |  | ; |  |  | 379 | 4560 |  | ; |  |  | 380 | 4560 | 4200012000000 | W4560: | +04200012000000 | ;42 2 / 00 0 | @4560 |  | 381 | 4561 | 5200012000000 | W4561: | +05200012000000 | ;52 2 / 00 0 | @4561 |  | 382 | 4562 |  | ; |  |  | 383 | 4562 |  | L4562: | ; |  |  |  | 384 | 4562 | 0610720 | .4562: | lod | W4560 |  |  |  | ; | @4562 |  | 385 | 4562+ | 1110723 |  | jmp | .4563P |  |  |  | ; |  |  | 386 | 4563 |  | ; |  |  | 387 | 4563 |  | .4563: | ; |  |  |  | 388 | 4563 | 0610721 |  | lod | W4561 |  |  |  | ; | @4563 |  | 389 | 4563+ |  | .4563P: | ; |  |  |  | 390 | 4563+ | 0343427 |  | stc | idptr |  |  |  | ; |  |  | 391 | 4564 | 0600576 |  | lod | ident |  |  |  | ; | @4564 |  | 392 | 4564+ | 0541425 |  | cls | errsw |  |  |  | ; |  |  | 393 | 4565 |  |  | call |  |  |  |  | ; |  |  | 393+1 | 4565 | 7312031002407 |  | lnk | addtodic.lnk | : | jmp | addtodic.ent |  |  |  | 394 | 4566 | 0603427 |  | lod | idptr |  |  |  | ; | @4566 |  | 395 | 4566+ | 0000000 |  | o00 | 0 |  |  |  | ; |  |  | 396 | 4567 |  |  | call |  |  |  |  | ; |  |  | 396+1 | 4567 | 7312031002407 |  | lnk | addtodic.lnk | : | jmp | addtodic.ent |  |  |  | 397 | 4568 | 0610655 |  | lod | getchar.ipnorm |  |  |  | ;=<06 0:71 0> | @4568 |  | 398 | 4568+ | 0340604 |  | stc | getchar.ent |  |  |  | ;reset getchar |  |  | 399 | 4569 | 0604340 |  | lod | K2b |  |  |  | ;=2 |  |  | 400 | 4569+ | 0564304 |  | o27 | constptr |  |  |  | ; |  |  | 401 | 4570 | 1004540 |  | jmp | advance.ret |  |  |  | ; | @4570 |  | 402 | 4570+ |  | ; |  |  | 403 | 4570+ |  | L4570P: | ; |  |  |  | 404 | 4570+ | 0602160 | .4570P: | lod | dicpt |  |  |  | ; |  |  | 405 | 4571 | 0343430 |  | stc | W1816 |  |  |  | ; |  |  | 406 | 4571+ | 1010723 |  | jmp | .4563 |  |  |  | ; |  |  | 407 | 4572 |  | ;------------------------------------------------------------------- |  |  | 408 | 4572 |  | L4572: | ; |  |  |  | 409 | 4572 | 1050245 | .4572: | jz | L4261 |  |  |  | ; error 20 -> do ident |  |  | 410 | 4572+ | 0124341 |  | sub | K3a |  |  |  | ;=3 |  |  | 411 | 4573 | 1050736 |  | jz | .4574 |  |  |  | ; error 17 -> |  |  | 412 | 4573+ | 1010744 |  | jmp | .4580 |  |  |  | ;set up input trace |  |  | 413 | 4574 |  | ; |  |  | 414 | 4574 |  | ; error 17, missing ; or end, missing : after label, garbage statement |  |  | 415 | 4574 | 0602142 | .4574: | lod | Link15d |  |  |  | ; modify return address |  |  | 416 | 4574+ | 0342154 |  | stc | W1132 |  |  |  | ; to aid recovery in statement |  |  | 417 | 4575 | 1010744 |  | jmp | .4580 |  |  |  | ;set up input trace |  |  | 418 | 4575+ |  | ; |  |  | 419 | 4575+ |  | .4575P: | ; |  |  |  | 420 | 4575+ | 0600575 |  | lod | ipshift |  |  |  | ; |  |  | 421 | 4576 | 1050741 |  | jz | .4577 |  |  |  | ; | @4576 |  | 422 | 4576+ | 0604347 |  | lod | K4a |  |  |  | ;=4 |  |  | 423 | 4577 |  | .4577: | ; |  |  |  | 424 | 4577 | 1600023714033 |  | stc | 4 | / | otp | TP+FS | ;display character |  |  | 425 | 4578 | 3002763714000 |  | lod | currchar | / | otp | TP | ;6K | @4578 |  | 426 | 4579 |  |  | ret |  |  |  |  | ;o00 4499 /jmp 1 |  |  | 426+1 | 4579 | 0043117000001 |  | o00 | L4558P.lnk | / | jmp | 1 |  |  |  | 427 | 4580 |  | ; |  |  | 428 | 4580 |  | .4580: | ; |  |  |  | 429 | 4580 | 0610656 |  | lod | getchar.iptrace |  |  |  | ;= | @4580 | | 430 | 4580+ | 0340604 |  | stc | getchar.ent |  |  |  | ;modify getchar to copy |  |  | 431 | 4581 | 1110244 |  | jmp | L4260P |  |  |  | ; |  |  | 432 | 4581+ |  | ; |  |  |  |  |