*** empty log message ***
[h316.git] / lib / hachti / src / oct.asm
1 * OCT - TYPE OCTAL VALUE ON THE ASR
2 *
3 * TYPE OUT THE VALUE IN A. A STAYS UNCHANGED AFTERWARDS
4 *
5 SUBR OCT,OCT6 PRINT OCTAL VALUE WITH 6 DIGITS + CR/LF
6 SUBR OCTN,N6 PRINT OCTAL VALUE WITH 6 DIGITS
7 *
8 SUBR OCTN1,N1 PRINT OCTAL, 1 DIGIT
9 SUBR OCTN2,N2 PRINT OCTAL, 2 DIGITS
10 SUBR OCTN3,N3 PRINT OCTAL, 3 DIGITS
11 SUBR OCTN4,N4 PRINT OCTAL, 4 DIGITS
12 SUBR OCTN5,N5 PRINT OCTAL, 5 DIGITS
13 SUBR OCTN6,N6 PRINT OCTAL, 6 DIGITS
14 SUBR OCT1 PRINT OCTAL, 1 DIGIT
15 SUBR OCT2 PRINT OCTAL, 2 DIGITS
16 SUBR OCT3 PRINT OCTAL, 3 DIGITS
17 SUBR OCT4 PRINT OCTAL, 4 DIGITS
18 SUBR OCT5 PRINT OCTAL, 5 DIGITS
19 SUBR OCT6 PRINT OCTAL, 6 DIGITS
20 *
21 SUBR TP TYPE OUT LETTER IN A
22 SUBR CR PRINT CR
23 SUBR LF PRINT LF
24 SUBR SP PRINT A SPACE CHARACTER
25 SUBR NL PRINT CR/LF
26 SUBR TYPE,TEXT
27 *
28 *
29 ********************************************************************************
30 *
31 REL
32 ORG 0
33 *
34 ********************************************************************************
35 *
36 *
37 TP DAC 0
38 SKS '104
39 JMP *-1
40 OCP '104
41 OTA '4 TYPE ON ASR
42 JMP *-1
43 SKS '4
44 JMP *-1
45 JMP* TP RETURN
46 *
47 *
48 ********************************************************************************
49 *
50 OCT6 DAC 0
51 JST N6
52 JST NL
53 JMP* OCT6
54 OCT5 DAC 0
55 JST N5
56 JST NL
57 JMP* OCT5
58 OCT4 DAC 0
59 JST N4
60 JST NL
61 JMP* OCT4
62 OCT3 DAC 0
63 JST N3
64 JST NL
65 JMP* OCT3
66 OCT2 DAC 0
67 JST N2
68 JST NL
69 JMP* OCT2
70 OCT1 DAC 0
71 JST N1
72 JST NL
73 JMP* OCT1
74 *
75 ********************************************************************************
76 *
77 N1 DAC 0
78 JST SAVE
79 LDA =-6
80 JMP NGO
81 N2 DAC 0
82 JST SAVE
83 LDA =-5
84 JMP NGO
85 N3 DAC 0
86 JST SAVE
87 LDA =-4
88 JMP NGO
89 N4 DAC 0
90 JST SAVE
91 LDA =-3
92 JMP NGO
93 N5 DAC 0
94 JST SAVE
95 LDA =-2
96 JMP NGO
97 N6 DAC 0
98 JST SAVE
99 LDA =-1
100 JMP NGO
101 *
102 ****************************************
103 *
104 SAVE DAC 0
105 STA ATMP
106 IAB
107 STA BTMP
108 JMP* SAVE
109 *
110 ****************************************
111 *
112 NGO STA PCNT
113 AOA
114 ALS 2 MULTIPLY BY 4
115 STA 0 TO INDEX REGISTER
116 LDA =-7
117 STA CNT
118 *
119 CRA
120 LRR 5 VORSPANNUNG
121 IRS CNT
122 LLR 3
123 IRS PCNT
124 JMP *-3
125 *
126 NXL LLR 3
127 ADD ZERO
128 JST TP
129 CRA
130 IRS CNT
131 JMP NXL
132 LDA BTMP
133 IAB
134 LDA ATMP
135 JMP* N6,1 EVIL!!!
136 *
137 *
138 ****************************************
139 *
140 *
141 ATMP DAC ** TEMPORARY STORAGE FOR A
142 BTMP DAC ** TEMPORARY STORAGE FOR B
143 PCNT DAC **
144 CNT DAC **
145 ZERO DEC 48 CHARACTER ZERO
146 *
147 ********************************************************************************
148 *
149 CR DAC 0
150 STA ATMP
151 LDA =13
152 JST TP
153 LDA ATMP
154 JMP* CR
155 *
156 LF DAC 0
157 STA ATMP
158 LDA =10
159 JST TP
160 LDA ATMP
161 JMP* LF
162 *
163 NL DAC 0
164 JST CR
165 JST LF
166 JMP* NL
167 *
168 SP DAC 0
169 STA ATMP
170 LDA ='040
171 JST TP
172 LDA ATMP
173 JMP* SP
174 *
175 *
176 ********************************************************************************
177 *
178 TEXT DAC 0
179 STA ATMP
180 LDA* TEXT GET POINTER
181 STA PTR
182 IRS TEXT RETURN ADDRESS
183 *
184 TLOP LDA* PTR
185 *
186 SNZ
187 JMP TDON
188 *
189 ICL COPY DOWN
190 SZE DON'T PRINT ZEROES
191 JST TP
192 LDA* PTR
193 CAL CLEAR UPPER HALF
194 SZE DON'T PRINT ZEROES
195 JST TP
196 *
197 IRS PTR
198 JMP TLOP
199 *
200 TDON LDA ATMP
201 JMP* TEXT
202 *
203 PTR DAC 0
204 *
205 ********************************************************************************
206 *
207 END