File: title.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape1.d/title.t2
2 0  ;-----------------
3 0  ; copy and save title string
4 0  ;
5 0  Title::; 
6 0  ;
7 0  =3852 
8 3852  .ent:; 
9 3852 0407515 sto titleptr   ; @3852
10 3852+0407521 sto titleend   ;
11 3853 0547517 cls shift   ;input character shift
12 3853+0547522 cls eotflg   ;end of title indicator
13 3854  .3854:; 
14 3854 1260000 mur 0   ;clear AR @3854
15 3854+0604336 lod K5b   ;=5
16 3855 0427520 stn W3920   ;set counter
17 3855+ L3855P.ent:; 
18 3855+ .3855P:; 
19 3855+0140000 cla 0   ;
20 3856  .3856:; 
21 3856 1620000 inp 0   ;get next character @3856
22 3856+1047420 jz .3856   ;skip if blanks
23 3857 0407516 sto W3918   ;save char
24 3857+0121451 sub K9   ;=9 (=''')
25 3858 1047425 jz .3861   ;might be end @3858
26 3858+0127527 sub K18   ;=18 (27 = FS)
27 3859 1047452 jz .3882   ;figshift
28 3859+0122211 sub K4   ;=4 (31 = LS)
29 3860 1047453 jz .3883   ;letshift @3860
30 3860+1007426 jmp .3862   ;others
31 3861  ;
32 3861  .3861:; 
33 3861 0607517 lod shift   ;get shift
34 3861+1047460 jz .3888   ;figs, end of title string
35 3862  .3862:; 
36 3862 0607516 lod W3918   ;get original char @3862
37 3862+0107517 add shift   ;add shift char
38 3863 1200006 sra 6   ;shift right into AR
39 3863+0647520 lis W3920   ;increment counter
40 3864 1127417 jn .3855P   ;continue @3864
41 3864+ .3864P:; 
42 3864+1300044 sla 36   ;shift AR back into ACC
43 3865 2236466377777 inc titleptr/sto -1;
44 3866 0607522 lod eotflg   ;have we had end of title ' @3866
45 3866+1007461 jmp .3889   ;
46 3867  ;--------------------------------------------------------------------
47 3867  ; punch title to end of ocode tape
48 3867  ;
49 3867  L3867:; 
50 3867 0604314.3867:lod K32a   ;=32
51 3867+0427520 stn W3920   ;set counter=-32
52 3868 0647520.3868:lis W3920   ;increment counter @3868
53 3868+1700000 otp 0   ;output blanks
54 3869 1027434 jn .3868   ;repeat
55 3869+0647515 lis titleptr   ;start of title
56 3870 0567521 o27 titleend   ;end of title @3870
57 3870+0647521.3870P:lis titleend   ;
58 3871 1047462 jz .3890   ;
59 3871+0040000 o02 0   ;
60 3872 2736466737777 o27 titleptr/lzs -1; @3872
61 3873 1200036 sra 30   ;shift into AR
62 3873+ .3873P:; 
63 3873+0061460 and K63   ;=63
64 3874 1147436 jz .3870P   ; @3874
65 3874+0407516 sto W3918   ;
66 3875 0064314 and K32a   ;=32
67 3875+0127517 sub shift   ;
68 3876 1047450 jz .3880   ; @3876
69 3876+1027447 jn .3879   ;
70 3877 1700033 otp FS   ; punch FS
71 3877+0604314 lod K32a   ;=32
72 3878 0407517 sto shift   ;set new shift @3878
73 3878+1007450 jmp .3880   ;
74 3879  ;
75 3879  .3879:; 
76 3879 1700037 otp LS   ; punch LS
77 3879+0547517 cls shift   ;
78 3880  .3880:; 
79 3880 0036473700000 o00 W3918/otp 0; punch character @3880
80 3881 1300006 sla 6   ;
81 3881+1107441 jmp .3873P   ;
82 3882  ;
83 3882  .3882:; 
84 3882 0547517 cls shift   ;shift=0 @3882
85 3882+1107417 jmp .3855P   ;continue
86 3883  ;
87 3883 0604314.3883:lod K32a   ;=32
88 3883+0407517 sto shift   ;shift=32
89 3884 1107417 jmp L3855P.ent   ;continue @3884
90 3884+ ;
91 3884+0604362.3884P:lod K127   ;
92 3885 0427520 stn W3920   ;
93 3885+ .3885P:; 
94 3885+1700000 otp 0   ;
95 3886 0647520 lis W3920   ; @3886
96 3886+1127455 jn .3885P   ;
97 3887  .3887:; 
98 3887  ; o00 W3923 / jmp 1 ;return +1
99 3887   ret     ;
99+13887 0036517000001 o00 Title.lnk/jmp 1 
100 3888  ;
101 3888 1667522.3888:lnk eotflg   ; set end-of-title flag @3888
102 3888+1107430 jmp .3864P   ;
103 3889  ;
104 3889 1047416.3889:jz .3854   ;
105 3889+1007457 jmp .3887   ;
106 3890  ;
107 3890 0607517.3890:lod shift   ; @3890
108 3890+1047464 jz .3892   ;
109 3891 1700037 otp LS   ;punch LS
110 3891+1107454 jmp .3884P   ;
111 3892  ;
112 3892 1700033.3892:otp FS   ;
113 3892+1107454 jmp .3884P   ;
114 3893  ;
115 3893  L3893::; 
116 3893  ;
117 3893  .ent:; 
118 3893 0607524 lod ocdflg   ;owncode flag
119 3893+1047433 jz L3867   ;
120 3894 0601425 lod errsw   ; @3894
121 3894+1047512 jz .3914   ;
122 3895 1107503 jmp .3907P   ;
123 3895+ ;
124 3895+ .3895P:; 
125 3895+0547517 cls shift   ;
126 3896  .3896:; 
127 3896 2236526577777 inc stkbase/lod -1; @3896
128 3897  .3897:; 
129 3897 0407520 sto W3920   ;
130 3897+0061460 and K63   ;=63
131 3898 1147501 jz .3905P   ; Null -> @3898
132 3898+0407516 sto W3918   ;
133 3899 0064314 and K32a   ;
134 3899+0327517 o15 shift   ;
135 3900 1047477 jz .3903   ; @3900
136 3900+1127476 jn .3902P   ;
137 3901 1714037 otp TP+LS   ;
138 3901+1007477 jmp .3903   ;
139 3902  ;
140 3902 0000000 o00 0   ; @3902
141 3902+ .3902P:; 
142 3902+1714033 otp TP+FS   ; 6K+FS
143 3903  ;
144 3903 0036473714000.3903:o00 W3918/otp TP; punch to tty
145 3904 0607520 lod W3920   ; @3904
146 3904+1220006 srl 6   ;
147 3905 1007471 jmp .3897    
148 3905+ ;
149 3905+0607525.3905P:lod stkbase   ;
150 3906 0122151 sub stkp   ; @3906
151 3906+1027470 jn .3896   ;
152 3907 1007457 jmp Title.3887   ;
153 3907+ ;--------------------------------------------------------------------
154 3907+ ;
155 3907+ L3907P.ent:; 
156 3907+ .3907P:; 
157 3907+0227520 o11 W3920   ;
158 3908 0102207 add K1c   ;=1 @3908
159 3908+1242226 mul K6   ;=6
160 3909 1360000 ara 0   ;
161 3909+0407520 sto W3920   ;
162 3910 0010646577777 o00 stkp/lod -1; @3910
163 3911 0036503220000 o00 W3920/srl 0;
164 3912 0010646377777 o00 stkp/sto -1; @3912
165 3913 1714033 otp TP+FS   ;
166 3913+1107467 jmp .3895P    
167 3914  ;
168 3914  .3914:; 
169 3914 0607525 lod stkbase   ; @3914
170 3914+0407521 sto titleend   ;
171 3915 0602151 lod stkp   ;
172 3915+0407515 sto titleptr   ;
173 3916 1007433 jmp L3867   ; @3916
174 3916+ ;
175 3916+0000000 o00 0    
176 3917  ;--------------------------------------------------------------------