File: errors.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape2/errors.t2
2 0  ;
3 0  Errors::; 
4 0  intoflo:; 
5 0 0616560 lod Msg3   ;=['INT OFLO'] @6886
6 0+  nop     ;
6+10+1000001 jmp .1    
6+21  .1:; 
7 1  ;
8 1  Abort:; 
9 1   calln ,   ; @6887
9+11 7300065016166 lnk Link1:jmp outerror1 
10 2 1000010 jmp ep8   ; @6888
11 2+ ;
12 2+ spaceoflo:; 
13 2+0616562 lod Msg5   ;=['SPACE OFLO']
14 3 1000001 jmp Abort   ; @6889
15 3+ ;
16 3+ SubscrOflo:; 
17 3+0616561 lod Msg4   ;=['SUBSR OFLO']
18 4 1000001 jmp Abort   ; @6890
19 4+ ;
20 4+0000000 o00 0   ;
21 5  ;--------------------------------------------------------------------
22 5  Stop:; 
23 5 0616563 lod Msg6   ;=['END OF PROGRAM'] @6891
24 5+0000000 o00 0   ;
25 6   calln ,   ; @6892
25+16 7300065016166 lnk Link1:jmp outerror1 
26 7 1000010 jmp ep8   ;pause, then... @6893
27 7+ ;--------------------------------------------------------------------
28 7+ ; compiler corrupt, request re-load
29 7+ ;
30 7+ Corrupt:; 
31 7+0000000 o00 0   ;padding
32 8 0600005 lod ep5   ;test if tape1 loaded? @6894
33 8+1020012 jn .1   ;no, only tape2 present
34 9 0616564 lod Msg7   ;re-input tapes 1 & 2 @6895
35 9+1100012 jmp .2   ;output message and halt
36 10  ;
37 10  .1:; 
38 10 0616565 lod Msg8   ;re-input Tape 2 @6896
39 10+ .2:; 
40 10+1714036 otp TP+LF   ;
41 11   calln ,   ;lnk Link1 : jmp 7286 @6897
41+111 7300065016166 lnk Link1:jmp outerror1 
42 12  .loop:; 
43 12 1000014 jmp .loop   ;loop stop @6898
44 12+ ;
45 12+0000000 o00 0   ;
46 13  ;--------------------------------------------------------------------
47 13  ; output error messages and recover/halt
48 13  ;
49 13  OutError::; 
50 13  ;
51 13  ; scratch data area
52 13  ;
53 13  =7241 
54 7241 0000000000000.flag:+0; flag, zero for data wait
55 7242 0000000000000.dev:+0; save for current setting of punch
56 7243 0000000000000.link:+0; save for current value of Link1
57 7244  ;
58 7244  =7285 
59 7285  outerror0:; 
60 7285 0556111 cls .flag   ; @7285
61 7285+1116166 jmp .1   ;
62 7286  ;
63 7286  outerror1:; 
64 7286 1676111 lnk .flag   ; @7286
65 7286+ .1:; 
66 7286+1060013 jo IntOflo   ;int oflo
67 7287 1714035 otp TP+CR   ; @7287
68 7287+1714036 otp TP+LF   ;
69 7288 0200015 exa Link1   ; @7288
70 7288+0416113 sto .link   ;save resume address
71 7289 0615151 lod devTP   ;=TP @7289
72 7289+0200077 exa outdev   ;temp set dev=printer
73 7290 0416112 sto .dev   ;save previous setting @7290
74 7290+0600015 lod Link1   ;
75 7291   calln ,   ;output the message @7291
75+17291 7300005100012 lnk T2Link:jmp OutStr 
76 7292 0616112 lod .dev   ; @7292
77 7292+0400077 sto outdev   ;restore output device
78 7293 0616113 lod .link   ; @7293
79 7293+0400015 sto Link1   ;restore return address
80 7294 1714035 otp TP+CR   ; @7294
81 7294+0616111 lod .flag   ;implicit parameter
82 7295 1714036 otp TP+LF   ; @7295
83 7295+1714036 otp TP+LF   ;
84 7296 7300005040035 lnk T2Link:jz DWaitEnt;call DWait if outerror0 @7296
85 7297 0140000 cla 0   ; @7297
86 7297+1016043 jmp RetClr   ;