mirror of
https://github.com/pkimpel/retro-220.git
synced 2026-01-13 15:18:24 +00:00
1. Commit additional transcriptions for BALGOL intrinsic functions.
2. Commit initial transcription work for BALGOL compiler-generator program. 3. Commit corrections and enhancements to tools/BAC-Assembler.html and tools/BAC-Xscript-Reformatter.wsf to support additional assembly syntax found in the intrinsics.
This commit is contained in:
parent
1133226fc0
commit
d4c6799b25
311
software/BALGOL/BALGOL-Generator.bacg
Normal file
311
software/BALGOL/BALGOL-Generator.bacg
Normal file
@ -0,0 +1,311 @@
|
||||
6 11 17 40 52 60
|
||||
SEQ PLAC ADDR WORD LABEL OPCODE OPERAND
|
||||
|
||||
1 LOAD 0000
|
||||
2 ON TAPE,1/4999
|
||||
3
|
||||
4
|
||||
5 THE COMPILER GENERATOR
|
||||
6
|
||||
7 DEFINITIONS FOR THE COMPILER
|
||||
8
|
||||
9 CHAR IS 179
|
||||
10 SCNCT IS 225
|
||||
11 VARB IS 251
|
||||
12 CCCNT IS 1587
|
||||
13 CCBEG IS 1618
|
||||
14 IMAG IS 1632
|
||||
15 NUTBL IS 3129
|
||||
16 XONE IS 4097+2
|
||||
17 SCRTB IS 4114+2
|
||||
18 SSC IS 4214+2
|
||||
19 LOCN IS 4215+2
|
||||
20 MAMAX IS 4225+2
|
||||
21 HDNG IS 4517
|
||||
22
|
||||
23 DEFINITIONS FOR THE OVERLAY
|
||||
24
|
||||
25 B IS 5200+13
|
||||
26 ZERO IS 5200+27
|
||||
27 LODOX IS 5200+74
|
||||
28 LIBRARYTABLE
|
||||
29 IS 1857
|
||||
30 NUMB IS 4800+1335
|
||||
31 LOD2 IS 4800+3127
|
||||
32 POSCT IS 4800+3384
|
||||
33 HALT IS 4800+3450
|
||||
34
|
||||
35 DEFINITIONS FOR OBJECT PROGRAM CARD LOADER
|
||||
36
|
||||
37 FIX IS 4240
|
||||
38
|
||||
39
|
||||
40
|
||||
41 0000 0 0000 30 0002 BUN LOAD
|
||||
42 0001 0 0000 30 0023 BUN STORE
|
||||
43 0002 0 0018 50 0000 LOAD MRW 010
|
||||
44 0003 0 0004 45 0000 CLB
|
||||
45 0004 1 0001 52 0000 1 -MNC 0,0,0
|
||||
46 0005 0 0000 42 0006 LDB $+1
|
||||
47 0006 0 0001 45 0999 CLA 999
|
||||
48 0007 1 0000 12 0000 2 -ADD 0
|
||||
49 0008 0 0001 21 0007 DBB 2B,1
|
||||
50 0009 0 0000 36 0015 BZA 3F
|
||||
51 0010 0 0040 09 2355 SPO R-CHECK SUM ERROR-
|
||||
52 0011 0 0001 58 0000 MPB 0,0
|
||||
53 0012 0 0272 00 2720 HLT 2720,0272(44)
|
||||
54 0013 0 0000 42 0007 LDB 2B
|
||||
55 0014 0 0000 30 0004 BUN 1B
|
||||
56 0015 0 1107 27 0016 3 DFL $+1/11,1
|
||||
57 0016 0 4000 42 0007 LDB 2B,4(11)
|
||||
58 0017 0 0999 20 0018 IBB $+1,999
|
||||
59 0018 0 0412 40 0007 STB 2B/04
|
||||
60 0019 0 0000 32 0004 BRP 1B
|
||||
61 0020 0 1105 27 0016 DFL 3B+1/11,5
|
||||
62 0021 0 0410 40 0007 STA 2B/04
|
||||
63 0022 0 0000 31 0046 BOF THEBEGINNING
|
||||
64
|
||||
65
|
||||
66 0023 0 0018 50 0000 STORE MRW 010
|
||||
67 0024 0 0000 42 0025 1 LDB $+1
|
||||
68 0025 0 4001 45 0998 CLA 998,4(11)
|
||||
69 0026 1 0000 12 0000 2 -ADD 0
|
||||
70 0027 0 0001 21 0026 DBB $-1,1
|
||||
71 0028 0 0000 42 0026 LDB 2B
|
||||
72 0029 1 0000 41 0999 -LDR 999
|
||||
73 0030 1 0000 40 0999 -STA 999
|
||||
74 0031 1 0000 11 0999 -CSU 999
|
||||
75 0032 1 0000 40 0999 -STA 999
|
||||
76 0033 1 0000 56 0000 -MOW 0,0,0
|
||||
77 0034 1 0001 40 0999 -STR 999
|
||||
78 0035 0 0999 20 0036 IBB $+1,999
|
||||
79 0036 0 0412 40 0026 STB 2B/04
|
||||
80 0037 0 1101 27 0025 DFL 1B+1/11,1
|
||||
81 0038 0 0000 32 0024 BRP 1B
|
||||
82 0039 0 0000 31 0040 BOF $+1
|
||||
83 0040 0 0018 50 0000 MRW 010
|
||||
84 0041 0 1248 00 8421 HLT 8421,1248(44)
|
||||
85 0042 0 0007 45 0000 CLT
|
||||
86 0043 0 0410 40 0026 STA 2B/04
|
||||
87 0044 0 1106 27 0025 DFL 1B+1/11,6
|
||||
88 0045 0 0000 30 0002 BUN LOAD
|
||||
89
|
||||
90
|
||||
91 THEBEGINNING
|
||||
92 0046 0 0060 09 2349 SPO LRT-THECOMPILER GENERATOR-R
|
||||
93 0047 0 1101 26 0051 IFL 20F/11,1
|
||||
94 0048 0 1101 26 0049 IFL $+1/11,1
|
||||
95 0049 0 0000 64 0051 CRI 20F,0
|
||||
96 0050 0 0000 30 0049 BUN THEBEGINNING+3
|
||||
97 0051 0 0002 62 1517 20 CRF ALFORMAT,0,2
|
||||
98 0052 0 0008 50 0000 MRW 0
|
||||
99 0053 0 0000 44 0115 21 DO SAN
|
||||
54 0 0000 30 0107
|
||||
100 0055 0 0010 18 2337 CFA -COMME-/00
|
||||
101 0056 0 0000 35 0134 BCE COMMENT
|
||||
102 0057 0 0010 18 2411 CFA -COPYC-/00
|
||||
103 0058 0 0000 35 0139 BCE COMPILERTAPEUNIT
|
||||
104 0059 0 0010 18 2394 CFA -COMPI-/00
|
||||
105 0060 0 0000 35 0268 BCE SETLOCN
|
||||
106 0061 0 0010 18 2416 CFA -GENER-/00
|
||||
107 0062 0 0000 35 0290 BCE VERSION
|
||||
108 0063 0 0010 18 2302 CFA -SETSC-/00
|
||||
109 0064 0 0000 35 0144 BCE SETSCAN
|
||||
110 0065 0 0010 18 2414 CFA -PRINT-/00
|
||||
111 0066 0 0000 35 0161 BCE SETPRINTER
|
||||
112 0067 0 0010 18 2293 CFA -VARIA-/00
|
||||
113 0068 0 0000 35 0240 BCE VARIABLES
|
||||
114 0069 0 0010 18 2340 CFA -CARDP-/00
|
||||
115 0070 0 0000 35 0167 BCE SETPUNCH
|
||||
116 0071 0 0010 18 2341 CFA -CARDR-/00
|
||||
117 0072 0 0000 35 0172 BCE SETREADER
|
||||
118 0073 0 0010 18 2410 CFA -MACHI-/00
|
||||
119 0074 0 0000 35 0178 BCE SETSCRATCH
|
||||
120 0075 0 0010 18 2420 CFA -CORRE-/00
|
||||
121 0076 0 0000 35 0192 BCE SETCORRECTIONS
|
||||
122 0077 0 0010 18 2393 CFA -MEMOR-/00
|
||||
123 0078 0 0000 35 0225 BCE SETSIZE
|
||||
124 0079 0 0010 18 2397 CFA -PROCE-/00
|
||||
125 0080 0 0000 35 0245 BCE SETPROCESSBIT
|
||||
126 0081 0 0010 18 2335 CFA -POSIT-/00
|
||||
127 0082 0 0000 35 0248 BCE SETUPFORPOSITIONFORWARD
|
||||
128 0083 0 0010 18 2396 CFA -PUNCH-/00
|
||||
129 0084 0 0000 35 0260 BCE SETTHEPUNCHLIBRARYBIT
|
||||
130 0085 0 0010 18 2381 CFA -SUPPR-/00
|
||||
131 0086 0 0000 35 0266 BCE THEREGOESTHEHALT
|
||||
132 0087 0 0010 18 2365 CFA -DELET-/00
|
||||
133 0088 0 0000 35 0100 BCE WHATGOES
|
||||
134 0089 0 0010 18 2440 CFA -INPUT-/00
|
||||
135 0090 0 0000 35 0603 BCE INPUTMEDIA
|
||||
136 0091 0 0010 18 2291 CFA -OUTPU-/00
|
||||
137 0092 0 0000 35 0767 BCE OUTPUTMEDIA
|
||||
138 0093 0 0010 18 2310 CFA -FINIS-/00
|
||||
139 0094 0 0000 35 0387 BCE FINIS
|
||||
140 STATEMENTERROR
|
||||
141 0095 0 0050 09 2382 SPO R-INCORRECT STATEMENT-RRIII
|
||||
142 0096 0 0160 09 1778 SPO INPUT,16
|
||||
143 0097 0 0010 09 2342 SPO RRRRR--
|
||||
144 0098 0 1370 00 7310 HLT 7310,1370(44)
|
||||
145 0099 0 0000 30 0098 BUN $-1
|
||||
146
|
||||
147
|
||||
148 0100 0 0000 44 0115 WHATGOES DO SCAN
|
||||
0101 0 0000 30 0107
|
||||
149 0102 0 0010 18 2374 CFA -EOUTP-/00
|
||||
150 0103 0 0000 35 0364 BCE OUTPUTFORMATS
|
||||
151 0104 0 0010 18 2418 CFA -EINPU-/00
|
||||
152 0105 0 0000 35 0360 BCE INPUTFORMATS
|
||||
153 0106 0 0000 30 0095 BUN STATEMENTERROR
|
||||
154
|
||||
155
|
||||
156 0107 0 0000 46 0116 SCAN.1 CLL IMAGE.1
|
||||
157 0108 0 0000 44 0125 3 DO CHARACTER
|
||||
0109 0 0000 30 0117
|
||||
158 0110 0 0000 49 0009 1 SLA 8
|
||||
159 0111 0 0000 19 0116 ADL IMAGE.1
|
||||
160 0112 0 0102 27 0110 DFL 1B/01,2
|
||||
161 0113 0 0000 32 0108 BRP 3B
|
||||
162 0114 0 0000 10 0116 CAD IMAGE.1
|
||||
163 0115 0 0000 30 0115 SCAN BUN SCAN
|
||||
164 0116 0 0000 00 0000 IMAGE.1 (0)
|
||||
165
|
||||
166
|
||||
167 CHARACTER.1
|
||||
168 IS $+1
|
||||
169 0117 0 0502 26 0133 3 IFL SCNCT.1/05,2
|
||||
170 0118 0 9400 28 0133 DLB SCNCT.1/94
|
||||
171 0119 1 0000 10 1778 -CAD INPUT
|
||||
172 0120 0 0000 42 0133 LDB SCNCT.1
|
||||
173 0121 0 0160 21 0126 DBB 40F,160
|
||||
174 0122 1 0000 49 0002 -SLA 2
|
||||
175 0123 0 0000 17 2270 EXT =11=
|
||||
176 0124 0 0000 36 0117 BZA 3B
|
||||
177 0125 0 0000 30 0125 CHARACTER BUN CHARACTER
|
||||
178 0126 0 0000 41 0051 40 LDR 20B
|
||||
179 0127 0 1111 40 0128 STR $+1/11
|
||||
180 0128 0 0010 60 1793 CNC INPUT+15,0
|
||||
181 0129 0 0000 10 1793 CAD INPUT+15
|
||||
182 0130 0 0000 46 0133 CLL SCNCT.1
|
||||
183 0131 0 0002 33 0117 BSA 3B,2
|
||||
184 0132 0 0000 30 0095 BUN STATEMENTERROR
|
||||
185 0133 0 0000 00 0158 SCNCT.1 (158)
|
||||
186
|
||||
187
|
||||
188 0134 0 0502 27 0133 COMMENT DFL SCNCT.1/05,2
|
||||
189 0135 0 0000 44 0125 DO CHARACTER
|
||||
0136 0 0000 30 0117
|
||||
190 0137 0 0213 36 0053 BFA 21B/02,13
|
||||
191 0138 0 0000 30 0117 BUN CHARACTER.1
|
||||
192
|
||||
193
|
||||
194 COMPILERTAPEUNIT
|
||||
195 0139 0 0000 44 0359 DO TAPENUMSCAN
|
||||
0140 0 0000 30 0352
|
||||
196 0141 0 0000 49 0007 SLA 7
|
||||
197 0142 0 3310 40 1520 STA COMPILER/33
|
||||
198 0143 0 0000 30 0134 BUN COMMENT
|
||||
199
|
||||
200
|
||||
201 0144 0 0000 44 0350 SETSCAN DO BASICNUMSCAN
|
||||
0145 0 0000 30 0337
|
||||
202 0146 0 0000 40 1676 STA HOLD0
|
||||
203 0147 0 0000 12 1676 ADD HOLD0
|
||||
204 0148 0 0000 49 0006 SLA 6
|
||||
205 0149 0 4210 40 2451 STA TBL+3/42
|
||||
206 0150 0 0000 44 0350 DO BASICNUMSCAN
|
||||
0151 0 0000 30 0337
|
||||
207 0152 0 0000 40 1676 STA HOLD0
|
||||
208 0153 0 0000 12 1676 ADD HOLD0
|
||||
209 0154 0 0000 49 0006 SLA 6
|
||||
210 0155 0 4410 40 2249 STA TBL+1/44
|
||||
211 0156 0 4204 27 2451 DFL TBL+3/42,4
|
||||
212 0157 0 0000 30 0134 BUN COMMENT
|
||||
213 0158 0 0000 10 2449 SETSCAN.1 CRD TBL+1
|
||||
214 0159 1 4410 40 1677 -STA IA/44
|
||||
215 0160 0 0000 30 0514 BUN RETURN
|
||||
216
|
||||
217
|
||||
218 0161 0 0000 44 0350 SETPRINTER DO BASICNUMSCAN
|
||||
0162 0 0000 30 0337
|
||||
219 0163 0 0000 49 0009 SLA 9
|
||||
220 0164 0 1110 40 1801 STA PRINTER/11
|
||||
221 0165 0 1110 40 0792 STA UNIT2/11
|
||||
222 0166 0 0000 30 0134 BUN COMMENT
|
||||
223
|
||||
224
|
||||
225 0167 0 0000 44 0350 SETPUNCH DO BASICNUMSCAN
|
||||
0168 0 0000 30 0337
|
||||
226 0169 0 0000 49 0009 SLA 9
|
||||
227 0170 0 1110 40 1803 STA PUNCH/11
|
||||
228 0171 0 0000 30 0134 BUN COMMENT
|
||||
229
|
||||
230
|
||||
231 0172 0 0000 44 0350 SETREADER DO BASICNUMSCAN
|
||||
0173 0 0000 30 0337
|
||||
232 0174 0 0000 49 0009 SLA 9
|
||||
233 0175 0 1110 40 1823 STA READER/11
|
||||
234 0176 0 1110 40 0621 STA UNIT1/11
|
||||
235 0177 0 0000 30 0134 BUN COMMENT
|
||||
236
|
||||
237
|
||||
238 0178 0 0000 44 0359 SETSCRATCH DO TAPENUMSCAN
|
||||
0179 0 0000 30 0352
|
||||
239 0180 0 0000 49 0007 SLA 7
|
||||
240 0181 0 3310 40 1827 STA SCRATCHML/33
|
||||
241 0182 0 0002 49 0003 SLS 3
|
||||
242 0183 0 0000 16 0000 RND
|
||||
243 0184 0 0002 48 0010 SRS 10
|
||||
244 0185 0 0001 48 0010 SRT 10
|
||||
245 0186 0 0000 10 1827 CAD SCRATCHML
|
||||
246 0187 0 0000 12 2441 ADD =1(31)=
|
||||
247 0188 0 0000 37 0190 BZR 1F
|
||||
248 0189 0 0000 13 2272 SUB =2(32)=
|
||||
249 0190 0 3310 40 1828 1 STA SCRATCHDUMP/33
|
||||
250 0191 0 0000 30 0134 BUN COMMENT
|
||||
251
|
||||
252
|
||||
253 SETCORRECTIONS
|
||||
254 0192 0 0000 41 0051 LDR 20B
|
||||
255 0193 0 1111 40 0195 STR 1F/11
|
||||
256 0194 0 1111 40 0219 STR 2F/11
|
||||
257 0195 0 0011 60 1539 1 CNCL CDR+12,0
|
||||
258 0196 0 0000 10 1527 CAD CDR
|
||||
259 0197 0 0002 33 0134 BSA COMMENT,2
|
||||
260 0198 0 0001 45 0000 CLA CREATE CHECK SUM TOTAL
|
||||
261 0199 0 0000 42 2442 LDB =6=
|
||||
262 0200 1 0000 12 1533 12 -ADD CDR+6
|
||||
263 0201 0 0001 21 0200 DBB 12B,1
|
||||
264 0202 0 0000 36 0206 BZA $+4
|
||||
265 0203 0 0060 09 2434 SPO R-ERRONEOUS CORRECTION CARD-
|
||||
266 0204 0 9669 00 9669 HLT 9669,9669(44)
|
||||
267 0205 0 0000 30 0204 BUN $-1
|
||||
268
|
||||
269 0206 0 0000 10 1536 CAD CDR+9
|
||||
270 0207 0 0000 42 0223 LDB K
|
||||
271 0208 0 0402 26 0386 IFL KP/04,2
|
||||
272 0209 1 0000 40 2449 -STA TBL+1
|
||||
273 0210 0 0000 10 1535 CAD CDR+8
|
||||
274 0211 0 0000 12 1534 ADD CDR+7
|
||||
275 0212 0 0000 41 1532 LDR CDR+5
|
||||
276 0213 0 0100 37 0217 BFR 3F/01,0
|
||||
277 0214 0 0102 37 0221 BFR 4F/01,2
|
||||
278 0215 0 0103 37 1533 BFR CDR+6/01,3
|
||||
279 0216 0 0001 43 0000 LSA 1
|
||||
280 0217 1 0000 40 2448 3 -STA TBL
|
||||
281 0218 0 0002 26 0223 IFL K/00,2
|
||||
282 0219 0 0010 60 1539 2 CNC CDR+12,0
|
||||
283 0220 0 0000 30 0195 BUN 1B
|
||||
284 0221 0 0003 43 0000 4 LSA 3
|
||||
285 0222 0 0000 30 0217 BUN 3B
|
||||
286 0223 0 0000 00 0014 K (14)
|
||||
287 0224 0 0000 00 0000 MAMAXP (0)
|
||||
288
|
||||
289
|
||||
290 0225 0 0000 44 0350 SETSIZE DO BASICNUMSCAN
|
||||
0226 0 0000 30 0337
|
||||
291 0227 0 0200 36 0231 BFA 1F/02,00
|
||||
292 SPO R-MEMORY SIZE MUST BE GIVEN AS A MULTIPLE- ...
|
||||
293 0228 0 0120 09 2422 - OF ONE HUNDRED-RRRI
|
||||
294 0229 0 1370 00 7310 HLT 7310,1370(44)
|
||||
295 0230 0 0000 30 0229 BUN $-1
|
||||
296 0231 0 0000 12 2443 1 ADD =9999=
|
||||
29
software/BALGOL/BALGOL-Intrinsics/ACOS.baca
Normal file
29
software/BALGOL/BALGOL-Intrinsics/ACOS.baca
Normal file
@ -0,0 +1,29 @@
|
||||
.00.0 0100 ATAN DEFN 100
|
||||
.00.0 0200 ROMXX DEFN 200
|
||||
.00.0 0300 ERROR DEFN 300
|
||||
.00.0 0000 ACOS NOP
|
||||
.00.0 0001 STA 6 ERROR+52
|
||||
.00.0 0002 LDB 8 ACOS
|
||||
.00.0 0003 BZA 6 ROMXX+39
|
||||
.00.0 0004 LDR 8 ACOS2
|
||||
.00.0 0005 STP 6 ROMXX
|
||||
.00.0 0006 BUN 6 ROMXX+4
|
||||
.00.0 0007 FDV 6 ERROR+52
|
||||
.00.0 0008 STP 6 ATAN
|
||||
.00.0 0009 BUN 6 ATAN
|
||||
.00.0 0010 LDB 8 ACOS
|
||||
.00.0 0011 LDR 6 ERROR+52
|
||||
.00.0 0012 SLT 0
|
||||
.00.0 0013 BPA - 0
|
||||
.00.0 0014 FAD 8 +5131415927
|
||||
.00.0 0015 BUN - 0
|
||||
.00.0 0016 ACOS2 HLT 8 ACOS1
|
||||
.00.0 0017 ACOS1 CNST $ACOS$
|
||||
.00.0 0018 X CNST 0
|
||||
.00.0 0019 LOCN LOCN *+1
|
||||
.00.0 0020 CNST 40000990000
|
||||
.00.0 0021 CNST $ARCCOS,REAL(REAL) ARCTAN=1 ROMXX=2 ERROR=3 $
|
||||
.00.0 0030 CNST 90000000000
|
||||
.00.0 0031 LOCN LOCN
|
||||
.00.0 0019 FINI ACOS
|
||||
19 +5131415927
|
||||
20
software/BALGOL/BALGOL-Intrinsics/ASIN.baca
Normal file
20
software/BALGOL/BALGOL-Intrinsics/ASIN.baca
Normal file
@ -0,0 +1,20 @@
|
||||
.00.0 0100 ATAN DEFN 100
|
||||
.00.0 0200 ROMXX DEFN 200
|
||||
.00.0 0300 ERROR DEFN 300
|
||||
.00.0 0000 ASIN NOP
|
||||
.00.0 0001 STA 6 ERROR+52
|
||||
.00.0 0002 LDR 8 ASIN2
|
||||
.00.0 0003 STP 6 ROMXX
|
||||
.00.0 0004 BUN 6 ROMXX+4
|
||||
.00.0 0005 LDB 8 ASIN
|
||||
.00.0 0006 BZA 6 ROMXX+39
|
||||
.00.0 0007 STA 6 ERROR+49 B
|
||||
.00.0 0008 CAD 6 ERROR+52
|
||||
.00.0 0009 FDV 6 ERROR+49 B
|
||||
.00.0 0010 BUN 6 ATAN+2
|
||||
.00.0 0011 ASIN2 HLT 8 ASIN1
|
||||
.00.0 0012 ASIN1 CNST $ASIN$
|
||||
.00.0 0013 CNST 40000990000
|
||||
.00.0 0014 CNST $ARCSIN,REAL(REAL) ARCTAN=1 ROMXX=2 ERROR=3 $
|
||||
.00.0 0023 CNST 90000000000
|
||||
.00.0 0024 FINI ASIN
|
||||
72
software/BALGOL/BALGOL-Intrinsics/ATAN.baca
Normal file
72
software/BALGOL/BALGOL-Intrinsics/ATAN.baca
Normal file
@ -0,0 +1,72 @@
|
||||
.00.0 0100 ERROR DEFN 100
|
||||
.00.0 0000 ATAN CRB
|
||||
.00.0 0001 LDB 8 ATAN
|
||||
.00.0 0002 CFA 6 ERROR+51,00 =1.0=
|
||||
.00.0 0003 STA 6 ERROR+52
|
||||
.00.0 0004 STB 8 C+,44
|
||||
.00.0 0005 BCL 8 B+
|
||||
.00.0 0006 DFL 8 C+,44,1
|
||||
.00.0 0007 F4248 5010,10,+5099999999
|
||||
.00.0 0008 FDV 6 ERROR+52
|
||||
.00.0 0009 *B CFA 8 *-2,00
|
||||
.00.0 0010 BCL 8 A+
|
||||
.00.0 0011 SLA 2
|
||||
.00.0 0012 STA 6 ERROR+52
|
||||
.00.0 0013 MUL 6 ERROR+52
|
||||
.00.0 0014 STA 6 ERROR+49 B
|
||||
.00.0 0015 MUL 8 +0049017591 A1
|
||||
.00.0 0016 ADD 8 +0565030980 A2
|
||||
.00.0 0017 MUL 6 ERROR+49 B
|
||||
.00.0 0018 ADD 8 +1453567135 A3
|
||||
.00.0 0019 MUL 6 ERROR+49 B
|
||||
.00.0 0020 ADD 8 +1000000000 A4
|
||||
.00.0 0021 STA 6 ERROR+50 C Z
|
||||
.00.0 0022 CAD 8 +0008561189 B1
|
||||
.00.0 0023 MUL 6 ERROR+49 B
|
||||
.00.0 0024 ADD 8 +0280504541 B2
|
||||
.00.0 0025 MUL 6 ERROR+49 B
|
||||
.00.0 0026 ADD 8 +1120234014 B3
|
||||
.00.0 0027 MUL 6 ERROR+49 B
|
||||
.00.0 0028 ADD 8 +1000000000 B4
|
||||
.00.0 0029 MUL 6 ERROR+52
|
||||
.00.0 0030 SRT 2
|
||||
.00.0 0031 DIV 6 ERROR+50 C
|
||||
.00.0 0032 STA 6 ERROR+50 C
|
||||
.00.0 0033 IFL 6 ERROR+50,11,5
|
||||
.00.0 0034 CAD 6 ERROR+50 C
|
||||
.00.0 0035 *C IBB - 0,0
|
||||
.00.0 0036 CAD 8 +5115707963 PI/2
|
||||
.00.0 0037 LDR 6 ERROR+52
|
||||
.00.0 0038 SLT 0
|
||||
.00.0 0039 FSU 6 ERROR+50 C
|
||||
.00.0 0040 BUN - 1
|
||||
.00.0 0041 *A STA 6 ERROR+52
|
||||
.00.0 0042 FMU 6 ERROR+52
|
||||
.00.0 0043 STA 6 ERROR+49 B
|
||||
.00.0 0044 FMU 8 -5014281428 C1
|
||||
.00.0 0045 FAD 8 +5020000000 C2
|
||||
.00.0 0046 FMU 6 ERROR+49 B
|
||||
.00.0 0047 FSU 8 +5033333333 C3=-1/3
|
||||
.00.0 0048 FMU 6 ERROR+49 B
|
||||
.00.0 0049 FMU 6 ERROR+52
|
||||
.00.0 0050 FAD 6 ERROR+52
|
||||
.00.0 0051 STA 6 ERROR+50 C
|
||||
.00.0 0052 BUN 8 C-
|
||||
.00.0 0053 LOCN LOCN *+12
|
||||
.00.0 0065 CNST 40000990000
|
||||
.00.0 0066 CNST $ARCTAN,REAL(REAL) ERROR=1 $
|
||||
.00.0 0072 CNST 90000000000
|
||||
.00.0 0073 LOCN LOCN
|
||||
.00.0 0053 FINI ATAN
|
||||
53 +1000000000
|
||||
54 +5099999999
|
||||
55 +5033333333
|
||||
56 +5020000000
|
||||
57 +0280504541
|
||||
58 -5014281428
|
||||
059 +1453567135
|
||||
60 +0049017591
|
||||
61 +0008561189
|
||||
62 +1120234014
|
||||
63 +0565030980
|
||||
64 +5115707963
|
||||
17
software/BALGOL/BALGOL-Intrinsics/COS.baca
Normal file
17
software/BALGOL/BALGOL-Intrinsics/COS.baca
Normal file
@ -0,0 +1,17 @@
|
||||
.00.0 0100 SIN DEFN 100
|
||||
.00.0 0000 COS CRB
|
||||
.00.0 0001 LDR 8 COS
|
||||
.00.0 0002 STR 8 SIN,04
|
||||
.00.0 0003 LDR 8 COS2
|
||||
.00.0 0004 FAD 8 +5078539816
|
||||
.00.0 0005 FAD 8 +5078539816
|
||||
.00.0 0006 BUN 6 SIN+2
|
||||
.00.0 0007 COS2 HLT 8 COS1
|
||||
.00.0 0008 COS1 CNST $COS$
|
||||
.00.0 0009 LOCN LOCN *+1
|
||||
.00.0 0010 CNST 40000990000
|
||||
.00.0 0011 CNST $COS,REAL(REAL) SIN=1 $
|
||||
.00.0 0016 CNST 90000000000
|
||||
.00.0 0017 LOCN LOCN
|
||||
.00.0 0009 FINI COS
|
||||
9 +5078539816
|
||||
25
software/BALGOL/BALGOL-Intrinsics/COSH.baca
Normal file
25
software/BALGOL/BALGOL-Intrinsics/COSH.baca
Normal file
@ -0,0 +1,25 @@
|
||||
.00.0 0100 EXP DEFN 100
|
||||
.00.0 0200 ERROR DEFN 200
|
||||
.00.0 0000 COSH NOP
|
||||
.00.0 0001 LDR 8 COSH2
|
||||
.00.0 0002 LSA 0
|
||||
.00.0 0003 STP 6 EXP
|
||||
.00.0 0004 BUN 6 EXP+2
|
||||
.00.0 0005 BZA 8 A+
|
||||
.00.0 0006 STA 6 ERROR+52
|
||||
.00.0 0007 CAD 6 ERROR+51 =1.0=
|
||||
.00.0 0008 FDB 6 ERROR+52
|
||||
.00.0 0009 FAD 6 ERROR+52
|
||||
.00.0 0010 FMU 8 +5050000000
|
||||
.00.0 0011 *A LDB 8 COSH
|
||||
.00.0 0012 BUN - 0
|
||||
.00.0 0013 COSH2 HLT 8 COSH1
|
||||
.00.0 0014 COSH1 CNST $COSH$
|
||||
.00.0 0015 LOCN LOCN *+1
|
||||
.00.0 0016 CNST 40000990000
|
||||
.00.0 0017 CMST $COSH,REAL(REAL) EXP=1 ERROR=2 $
|
||||
.00.0 0023 CNST 90000000000
|
||||
.00.0 0024 LOCN LOCN
|
||||
.00.0 0015 FINI COSH
|
||||
15 +5050000000
|
||||
|
||||
20
software/BALGOL/BALGOL-Intrinsics/ENTIR.baca
Normal file
20
software/BALGOL/BALGOL-Intrinsics/ENTIR.baca
Normal file
@ -0,0 +1,20 @@
|
||||
.00.0 0000 ENTIR CRB
|
||||
.00.0 0001 CFA 8 +5810000000,22
|
||||
.00.0 0002 BCH 8 A+
|
||||
.00.0 0003 SRT 0
|
||||
.00.0 0004 BPA 8 B+
|
||||
.00.0 0005 LSA 0
|
||||
.00.0 0006 FAD 8 +5099999999
|
||||
.00.0 0007 *B FAD 8 *5810000000
|
||||
.00.0 0008 FSU 8 +5810000000
|
||||
.00.0 0009 SLT 0
|
||||
.00.0 0010 *A LDB 8 ENTIR
|
||||
.00.0 0011 BUN - 0
|
||||
.00.0 0012 LOCN LOCN *+2
|
||||
.00.0 0014 CNST 40000990000
|
||||
.00.0 0015 CNST $ENTIRE,REAL(REAL) $
|
||||
.00.0 0019 CNST 90000000000
|
||||
.00.0 0020 LOCN LOCN
|
||||
.00.0 0012 FINI ENTIR
|
||||
12 +5099999999
|
||||
13 +5810000000
|
||||
64
software/BALGOL/BALGOL-Intrinsics/LABEL.baca
Normal file
64
software/BALGOL/BALGOL-Intrinsics/LABEL.baca
Normal file
@ -0,0 +1,64 @@
|
||||
.00.0 THE LABEL PROCESSING SUBROUTINE
|
||||
.00.0 0100 ERROR DEFN 100
|
||||
.00.0 0000 LABEL BCS *,8
|
||||
.00.0 0001 LDB 8 NUMLB
|
||||
.00.0 0002 BOF 6 ERROR+21
|
||||
.00.0 0003 LDB 8 LABEL
|
||||
.00.0 0004 DLB - 9998,44,1
|
||||
.00.0 0005 STB 8 HOLD
|
||||
.00.0 0006 LDB 8 LABEL
|
||||
.00.0 0007 DLB - 9999,44,0
|
||||
.00.0 0008 STA 8 HOLD1
|
||||
.00.0 0009 CAD - 0
|
||||
.00.0 0010 STA 6 ERROR+49 B
|
||||
.00.0 0011 SRT 10
|
||||
.00.0 0012 STP 8 NUMLX
|
||||
.00.0 0013 BSA 8 NUMLB,1
|
||||
.00.0 0014 STA 6 ERROR+44
|
||||
.00.0 0015 STR 6 ERROR+45
|
||||
.00.0 0016 CAA 8 HOLD
|
||||
.00.0 0017 SUB 8 +10000
|
||||
.00.0 0018 SRT 10
|
||||
.00.0 0019 STP 8 NUMLX
|
||||
.00.0 0020 BUN 8 NUMLB
|
||||
.00.0 0021 STR 6 ERROR+46,08
|
||||
.00.0 0022 *I BUN 8 *+1
|
||||
.00.0 0023 IFL 6 ERROR+46,22,24
|
||||
.00.0 0024 IFL 6 ERROR+47,22,04
|
||||
.00.0 0025 IFL 8 I-,04,3
|
||||
.00.0 0026 BCS 8 PRINT,7
|
||||
.00.0 0027 EXIT LDB 8 LABEL
|
||||
.00.0 0028 CAD 8 HOLD1
|
||||
.00.0 0029 BUN - 0
|
||||
.00.0
|
||||
.00.0 0030 PRINT LDB 8 *+2
|
||||
.00.0 0031 RTF 6 ERROR+24,1 ZERO
|
||||
.00.0 0032 RTF 6 ERROR+37,5
|
||||
.00.0 0033 STP 6 ERROR+36
|
||||
.00.0 0034 BUN 6 ERROR+34
|
||||
.00.0 0035 BUN 8 EXIT
|
||||
.00.0
|
||||
.00.0
|
||||
.00.0 0036 NUMLB F4248 8001,45,LABEL+3
|
||||
.00.0 0037 SLA 1
|
||||
.00.0 0038 SLT 1
|
||||
.00.0 0039 SUB 8 +80
|
||||
.00.0 0040 IFL 8 NUMLB,11,8
|
||||
.00.0 0041 BOF 8 NUMLB+1
|
||||
.00.0 0042 IFL 8 *-1,11,5
|
||||
.00.0 0043 BOF 8 A+
|
||||
.00.0 0044 STA 6 ERROR+50 C
|
||||
.00.0 0045 BUN 8 NUMLB
|
||||
.00.0 0046 *A SRT 10
|
||||
.00.0 0047 CAD 6 ERROR+50 C
|
||||
.00.0 0048 NUMLX BUN *
|
||||
.00.0 0049 LOCN LOCN *+4
|
||||
.00.0 0053 CNST 40000990000
|
||||
.00.0 0054 CNST $LABEL ERROR=1 $
|
||||
.00.0 0057 CNST 90000000000
|
||||
.00.0 0058 LOCN LOCN
|
||||
.00.0 0049 FINI LABEL
|
||||
49 HOLD1
|
||||
50 HOLD
|
||||
51 +0000010000
|
||||
52 +0000000080
|
||||
64
software/BALGOL/BALGOL-Intrinsics/MONTR.baca
Normal file
64
software/BALGOL/BALGOL-Intrinsics/MONTR.baca
Normal file
@ -0,0 +1,64 @@
|
||||
.00.0 THE MONITOR SUBROUTINE
|
||||
.00.0 0100 ERROR DEFN 100
|
||||
.00.0 0000 MONTR BCS *,10
|
||||
.00.0 0001 STB 6 ERROR+49 B
|
||||
.00.0 0002 LDB 8 E+
|
||||
.00.0 0003 BOF 6 ERROR+21
|
||||
.00.0 0004 STA 6 ERROR+52
|
||||
.00.0 0005 LDB 8 MONTR
|
||||
.00.0 0006 DLB - 9999,44,0
|
||||
.00.0 0007 LDR - 0
|
||||
.00.0 0008 STR 8 OUT
|
||||
.00.0 0009 LDB 8 MONTR
|
||||
.00.0 0010 CLL 8 OUT+3
|
||||
.00.0 0011 CLL 8 OUT+4
|
||||
.00.0 0012 STB 8 OUT+1,64
|
||||
.00.0 0013 CAD - 9997
|
||||
.00.0 0014 BPA 8 *+2
|
||||
.00.0 0015 SUB 6 ERROR+49 B
|
||||
.00.0 0016 STA 8 B+,04
|
||||
.00.0 0017 *E CLA 8 MONTR+4
|
||||
.00.0 0018 LDR - 9998
|
||||
.00.0 0019 BFR 8 *+3,11,8
|
||||
.00.0 0020 *B ADD *
|
||||
.00.0 0021 BUN 8 *+2
|
||||
.00.0 0022 ADD 6 ERROR+52
|
||||
.00.0 0023 BFR 8 A+,21,0
|
||||
.00.0 0024 STA 8 OUT+2
|
||||
.00.0 0025 BPA 8 C+
|
||||
.00.0 0026 IFL8 OUT+1,42,20
|
||||
.00.0 0027 *C STB 8 F+,04
|
||||
.00.0 0028 F4246 0504,44,0200
|
||||
.00.0 0029 F4246 OUT,30,0200
|
||||
.00.0 0030 *D CAD 6 ERROR+52
|
||||
.00.0 0031 LDB 6 ERROR+49 B
|
||||
.00.0 0032 *F BUN *
|
||||
.00.0 0033 BUN *
|
||||
.00.0 0034 *A SRT B
|
||||
.00.0 0035 CLL 8 OUT+2
|
||||
.00.0 0036 STR 8 OUT+2,88
|
||||
.00.0 0037 BSA 8 *+2,0
|
||||
.00.0 0038 IFL 8 OUT+1,42,20
|
||||
.00.0 0039 LSA 0
|
||||
.00.0 0040 BFR 8 *+2,88,0
|
||||
.00.0 0041 SUB 8 +50
|
||||
.00.0 0042 IFL 8 OUT+3,02,23
|
||||
.00.0 0043 IFL 8 OUT+1,62,03
|
||||
.00.0 0044 STA 8 OUT+4,01
|
||||
.00.0 0045 SLA 1
|
||||
.00.0 0046 STA 8 OUT+4,89
|
||||
.00.0 0047 IFL 8 OUT+4,91,8
|
||||
.00.0 0048 IFL 8 OUT+4,71,8
|
||||
.00.0 0049 BUN 8 C-
|
||||
.00.0 0050 OUT CNST 0
|
||||
.00.0 0051 CNST $= $
|
||||
.00.0 0052 CNST 0
|
||||
.00.0 0053 CNST 0
|
||||
.00.0 0054 CNST 0
|
||||
.00.0 0055 LOCN LOCN *+1
|
||||
.00.0 0056 CNST 40000990000
|
||||
.00.0 0057 CNST $MONIT ERROR=1 RITE=2 $
|
||||
.00.0 0062 CNST 90000000000
|
||||
.00.0 0063 LOCN LOCN
|
||||
.00.0 0055 FINI MONTR
|
||||
55 +0000000050
|
||||
8
software/BALGOL/BALGOL-Intrinsics/REED.baca
Normal file
8
software/BALGOL/BALGOL-Intrinsics/REED.baca
Normal file
@ -0,0 +1,8 @@
|
||||
,00,0 READ DEFN 100
|
||||
.00.0 0000 REED NOP
|
||||
.00.0 0001 CRD 0117,1
|
||||
.00.0 0002 BUN 6 0111
|
||||
.00.0 0003 CNST 40000990000
|
||||
.00.0 0004 CNST $REED READ=1 $
|
||||
.00.0 0007 CNST 90000000000
|
||||
.00.0 0008 FINI READ
|
||||
19
software/BALGOL/BALGOL-Intrinsics/RITE.baca
Normal file
19
software/BALGOL/BALGOL-Intrinsics/RITE.baca
Normal file
@ -0,0 +1,19 @@
|
||||
.00.0 0000 RITE NOP
|
||||
.00.0 0001 LDB 8 *-1
|
||||
.00.0 0002 CAD - 9999
|
||||
.00.0 0003 SRA 6
|
||||
.00.0 0004 STA 8 A+,04
|
||||
.00.0 0005 CAD - 9998
|
||||
.00.0 0006 STA 8 A+,42
|
||||
.00.0 0007 SRA 8
|
||||
.00.0 0008 SUB 8 +1
|
||||
.00.0 0009 ADL 8 A+
|
||||
.00.0 0010 *A CWR 0,02,0
|
||||
.00.0 0011 BUN - 0
|
||||
.00.0 0012 LOCN LOCN *+1
|
||||
.00.0 0013 CNST 40000990000
|
||||
.00.0 0014 CNST $RITE $
|
||||
.00.0 0015 CNST 90000000000
|
||||
.00.0 0016 LOCN LOCN
|
||||
.00.0 0012 FINI RITE
|
||||
12 +0000000001
|
||||
55
software/BALGOL/BALGOL-Intrinsics/ROMXX.baca
Normal file
55
software/BALGOL/BALGOL-Intrinsics/ROMXX.baca
Normal file
@ -0,0 +1,55 @@
|
||||
.00.0 0100 ERROR DEFN 100
|
||||
.00.0 0200 SQRT DEFN 200
|
||||
.00.0 0000 ROMXX F4247 3,1,0
|
||||
.00.0 0001 DLB 8 *-1,44,0
|
||||
.00.0 0002 BOF 6 ERROR+21
|
||||
.00.0 0003 LDR 8 ROM2
|
||||
.00.0 0004 STR 8 B+,04
|
||||
.00.0 0005 CFA 6 ERROR+51,00 =1.0=
|
||||
.00.0 0006 BCH 8 B+
|
||||
.00.0 0007 BFA 8 E+,22,51
|
||||
.00.0 0008 BZA 8 F+
|
||||
.00.0 0009 STA 6 ERROR+52
|
||||
.00.0 0010 FMU 6 ERROR+52
|
||||
.00.0 0011 SLT 2
|
||||
.00.0 0012 STR 8 E+,02
|
||||
.00.0 0013 LBC B E+
|
||||
.00.0 0014 SRT - 51
|
||||
.00.0 0015 SUB 8 +10000000000
|
||||
.00.0 0016 SLT 10
|
||||
.00.0 0017 SUB 6 ERROR+48 =5(11)=
|
||||
.00.0 0018 SUB 6 ERROR+48
|
||||
.00.0 0019 SLT 10
|
||||
.00.0 0020 BOF 8 *+2
|
||||
.00.0 0021 F4248 51,12,+1
|
||||
.00.0 0022 DLB 8 *-1,44,0
|
||||
.00.0 0023 *D BFA 8 C+,11,0
|
||||
.00.0 0024 STB 8 E+,04
|
||||
.00.0 0025 LDR 8 E+
|
||||
.00.0 0026 SLT 18
|
||||
.00.0 0027 *G LDB 8 ROMXX
|
||||
.00.0 0028 BUN 6 SQRT+2
|
||||
.00.0 0029 *C SLT 1
|
||||
.00.0 0030 DBB 8 D-,1
|
||||
.00.0 0031 *E LSA 1
|
||||
.00.0 0032 *F FAD 6 ERROR+51 =1.0=
|
||||
.00.0 0033 BUN 8 G-
|
||||
.00.0 0034 *B LDR 8 ROM1
|
||||
.00.0 0035 LDB 8 ROMXX
|
||||
.00.0 0036 BUN 6 ERROR+7
|
||||
.00.0 0037 ROM1 CNST $ROMXX$
|
||||
.00.0 0038 ROM2 HLT 8 ROM1
|
||||
.00.0 0039 ROM3 CAD 8 +5115707963
|
||||
.00.0 0040 LDR 6 ERROR+52
|
||||
.00.0 0041 BZR - 0
|
||||
.00.0 0042 SLT 0
|
||||
.00.0 0043 BUN - 0
|
||||
.00.0 0044 LOCN LOCN *+3
|
||||
.00.0 0047 CNST 40000990000
|
||||
.00.0 0048 CNST $ROMXX,REAL(REAL) ERROR=1 SQRT=2 $
|
||||
.00.0 0055 CNST 90000000000
|
||||
.00.0 0056 LOCN LOCN
|
||||
.00.0 0044 FINI ROMXX
|
||||
44 +1000000000
|
||||
45 +0000000001
|
||||
46 +5115707963
|
||||
41
software/BALGOL/BALGOL-Intrinsics/SINH.baca
Normal file
41
software/BALGOL/BALGOL-Intrinsics/SINH.baca
Normal file
@ -0,0 +1,41 @@
|
||||
.00.0 0100 EXP DEFN 100
|
||||
.00.0 0200 ERROR DEFN 200
|
||||
.00.0 0000 SINH CLR
|
||||
.00.0 0001 CFA 6 EXP+71,00
|
||||
.00.0 0002 BCH 8 C+
|
||||
.00.0 0003 CFA 8 +5050000000,00
|
||||
.00.0 0004 BCL 8 A+
|
||||
.00.0 0005 STP 6 EXP
|
||||
.00.0 0006 BUN 6 EXP+2
|
||||
.00.0 0007 STA 6 ERROR+52
|
||||
.00.0 0008 CSU 6 ERROR+51 =1.0=
|
||||
.00.0 0009 FDV 6 ERROR+52
|
||||
.00.0 0010 FAD 6 ERROR+52
|
||||
.00.0 0011 FMU 8 +5050000000
|
||||
.00.0 0012 *B LDB 8 SINH
|
||||
.00.0 0013 BUN - 0
|
||||
.00.0 0014 *A STA 6 ERROR+52
|
||||
.00.0 0015 FMU 6 ERROR+52
|
||||
.00.0 0016 STA 6 ERROR+49 B
|
||||
.00.0 0017 FMU 8 +4719841270
|
||||
.00.0 0018 FAD 8 +4883333333
|
||||
.00.0 0019 FMU 6 ERROR+49 B
|
||||
.00.0 0020 FAD 8 +5016666667
|
||||
.00.0 0021 FMU 6 ERROR+49 B
|
||||
.00.0 0022 FMU 6 ERROR+12
|
||||
.00.0 0023 FAD 6 ERROR+52
|
||||
.00.0 0024 BUN 8 B-
|
||||
.00.0 0025 *C LDB 8 SINH
|
||||
.00.0 0026 LDR 8 $SINH$
|
||||
.00.0 0027 BUN 6 ERROR
|
||||
.00.0 0028 LOCN LOCN *+5
|
||||
.00.0 0033 CNST 40000990000
|
||||
.00.0 0034 CNST $SINH,REAL(REAL) EXP=1 ERROR=2 $
|
||||
.00.0 0040 CNST 90000000000
|
||||
.00.0 0041 LOCN LOCN
|
||||
.00.0 0028 FINI SINH
|
||||
28 $SINH
|
||||
29 +4719841270
|
||||
30 +4883333333
|
||||
31 +5050000000
|
||||
032 +5016666667
|
||||
30
software/BALGOL/BALGOL-Intrinsics/TAN.baca
Normal file
30
software/BALGOL/BALGOL-Intrinsics/TAN.baca
Normal file
@ -0,0 +1,30 @@
|
||||
.00.0 0100 SIN DEFN 100
|
||||
.00.0 0200 COS DEFN 200
|
||||
.00.0 0300 ERROR DEFN 300
|
||||
.00.0 0000 TAN CRB
|
||||
.00.0 0001 STA 8 X
|
||||
.00.0 0002 LDR 8 TAN2
|
||||
.00.0 0003 STP 6 SIN
|
||||
.00.0 0004 BUN 6 COS+4
|
||||
.00.0 0005 BZA 8 A+
|
||||
.00.0 0006 STA 8 COSX
|
||||
.00.0 0007 CAD 8 X
|
||||
.00.0 0008 STP 6 SIN
|
||||
.00.0 0009 BUN 6 SIN
|
||||
.00.0 0010 FDV 6 COSX
|
||||
.00.0 0011 LDB 8 TAN
|
||||
.00.0 0012 BUN - 0
|
||||
.00.0 0013 *A LDR 8 X
|
||||
.00.0 0014 CFR 8 *+1,22
|
||||
.00.0 0015 F424- 5700,34,0
|
||||
.00.0 0016 LDB 8 TAN
|
||||
.00.0 0017 LDR 8 TAN1
|
||||
.00.0 0018 BUN 6 ERROR+7
|
||||
.00.0 0019 X CNST 0
|
||||
.00.0 0020 COSX CNST 0
|
||||
.00.0 0021 TAN1 CNST $TAN$
|
||||
.00.0 0022 TAN2 HLT TAN1
|
||||
.00.0 0023 CNST 40000990000
|
||||
.00.0 0024 CNST $TAN,REAL(REAL) SIN=1 COS=2 ERROR=3 $
|
||||
.00.0 0031 CNST 90000000000
|
||||
.00.0 0032 FINI TAN
|
||||
33
software/BALGOL/BALGOL-Intrinsics/TANH.baca
Normal file
33
software/BALGOL/BALGOL-Intrinsics/TANH.baca
Normal file
@ -0,0 +1,33 @@
|
||||
.00.0 0100 SINH DEFN 100
|
||||
,00,0 0200 COSH DEFN 200
|
||||
.00.0 0300 ERROR DEFN 300
|
||||
.00.0 0000 TANH NOP
|
||||
.00.0 0001 STA 8 X
|
||||
.00.0 0002 LDR 8 TANH2
|
||||
.00.0 0003 CFA 8 +5250000000,00
|
||||
.00.0 0004 BCH 8 B+
|
||||
.00.0 0005 STP 6 COSH
|
||||
.00.0 0006 BUN 6 COSH+2
|
||||
.00.0 0007 STA 8 COSHX
|
||||
.00.0 0008 BZA 8 A+
|
||||
.00.0 0009 CAD 8 X
|
||||
.00.0 0010 STP 6 SINH
|
||||
.00.0 0011 BUN 6 SINH
|
||||
.00.0 0012 FDV 8 COSHX
|
||||
.00.0 0013 *A LDB 8 TANH
|
||||
.00.0 0014 BUN - 0
|
||||
.00.0 0015 *B CAD 6 ERROR+51 =1.0=
|
||||
.00.0 0016 LDR 8 X
|
||||
.00.0 0017 SLT 0
|
||||
.00.0 0018 BUN 8 A-
|
||||
.00.0 0019 X CNST 0
|
||||
.00.0 0020 COSHX CNST 0
|
||||
.00.0 0021 TANH2 HLT 8 TANH1
|
||||
.00.0 0022 TAHN1 CNST $TANH$
|
||||
.00.0 0023 LOCN LOCN *+1
|
||||
.00.0 0024 CNST 40000990000
|
||||
.00.0 0025 CNST $TANH,REAL(REAL) SINH=1 COSH=2 ERROR=3 $
|
||||
.00.0 0033 CNST 90000000000
|
||||
.00.0 0034 LOCN LOCN
|
||||
.00.0 0023 FINI TANH
|
||||
23 +5250000000
|
||||
29
software/BALGOL/BALGOL-Intrinsics/TRACE.baca
Normal file
29
software/BALGOL/BALGOL-Intrinsics/TRACE.baca
Normal file
@ -0,0 +1,29 @@
|
||||
.00.0 0100 ERROR DEFN 100
|
||||
.00.0 0000 TRACE BCS *,9
|
||||
.00.0 0001 DLB 8 Y+,44,0
|
||||
.00.0 0002 HOLD BOF 6 ERROR+21
|
||||
.00.0 0003 TR1 LDB 8 TRACE
|
||||
.00.0 0004 STA 8 HOLD0
|
||||
.00.0 0005 CAD - 9999
|
||||
.00.0 0006 STA 8 HOLD,44
|
||||
.00.0 0007 BFA 8 Y+,44,0
|
||||
.00.0 0008 *A CAD - 0
|
||||
.00.0 0009 CFA 8 TR1,04
|
||||
.00.0 0010 BCU 8 *+2
|
||||
.00.0 0011 IBB 8 A-,2
|
||||
.00.0 0012 ADA 8 HOLD
|
||||
.00.0 0013 ADD 8 +9999000000
|
||||
.00.0 0014 BOF 8 *+1
|
||||
.00.0 0015 *Y F4247 3,44,0
|
||||
.00.0 0016 BFA 2,44,0
|
||||
.00.0 0017 *Z LDB 8 TRACE
|
||||
.00.0 0018 CAD 8 HOLD0
|
||||
.00.0 0019 BUN - 0
|
||||
.00.0 0020 HOLD0 CNST 0
|
||||
.00.0 0021 LOCN LOCN *+1
|
||||
.00.0 0022 CNST 40000990000
|
||||
.00.0 0023 CNST $TRACE ERROR=1 $
|
||||
.00.0 0026 CNST 90000000000
|
||||
.00.0 0027 LOCN LOCN
|
||||
.00.0 0021 FINI TRACE
|
||||
21 +9999000000
|
||||
Binary file not shown.
@ -7,6 +7,17 @@ Unless otherwise specified, all files are in standard Windows text
|
||||
format, with carriage-return/line-feed delimiters.
|
||||
|
||||
|
||||
[WORK IN PROGRESS]
|
||||
|
||||
|
||||
BALGOL-Generator.bacg
|
||||
Assembly listing of the BALGOL comiler-generator program,
|
||||
transcribed by Paul Kimpel from
|
||||
http://archive.computerhistory.org/resources/text/Knuth_Don_X4100/
|
||||
PDF_index/k-1-pdf/k-1-u2196-balgol220compiler.pdf.
|
||||
This program is written using a different assembly language than the
|
||||
other BALGOL components below.
|
||||
|
||||
BALGOL-Main.baca
|
||||
Assembly listing of the BALGOL compiler main-line module,
|
||||
transcribed by Paul Kimpel from
|
||||
@ -29,11 +40,13 @@ BALGOL-Overlay.card
|
||||
Card-image input deck of BALGOL-Overlay.baca prepared for input to
|
||||
the tools/BAC-Assembler script.
|
||||
|
||||
BALGOL-FLOAT.baca, BALGOL-FLOAT.card
|
||||
Assembly listing and input card deck for the BALGOL FLOAT intrinsic
|
||||
function.
|
||||
|
||||
[work in progress]
|
||||
BALGOL-Intrinsics/
|
||||
Assembly listings (.baca) and input card decks (.card) for the
|
||||
BALGOL intrinsic function library, transcribed by Paul Kimpel from
|
||||
http://archive.computerhistory.org/resources/text/Knuth_Don_X4100/
|
||||
PDF_index/k-1-pdf/k-1-u2196-balgol220compiler.pdf.
|
||||
These transcriptions reflect some notations and corrections hand-
|
||||
coded on the listings.
|
||||
|
||||
Paul Kimpel
|
||||
January 2017
|
||||
|
||||
@ -126,6 +126,7 @@ window.addEventListener("load", function() {
|
||||
var eolRex = /([^\n\r\f]*)((:?\r[\n\f]?)|\n|\f)?/g;
|
||||
|
||||
var panel = $$("TextPanel");
|
||||
var rTrimRex = /\s*$/;
|
||||
var sprintLimit = 100; // cards processed before yielding control
|
||||
|
||||
// Input field 0-relative column locations
|
||||
@ -162,6 +163,7 @@ window.addEventListener("load", function() {
|
||||
newOffset: -1};
|
||||
|
||||
// Assembly storage
|
||||
var autoSymTab = {}; // auto-declared (undefined) symbol table
|
||||
var errorCount = 0; // assembler error count
|
||||
var errorTank = []; // holding area for errors on current line
|
||||
var location = 0; // current instruction address
|
||||
@ -418,6 +420,20 @@ window.addEventListener("load", function() {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**************************************/
|
||||
function rTrim(s) {
|
||||
/* Returns the string "s" stripped of any trailing whitespace */
|
||||
var x = s.search(rTrimRex);
|
||||
|
||||
if (x < 0 ) {
|
||||
return s;
|
||||
} else if (x < 1) {
|
||||
return "";
|
||||
} else {
|
||||
return s.substring(0, x);
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************/
|
||||
function clearPanel() {
|
||||
/* Clears the text panel */
|
||||
@ -1644,6 +1660,7 @@ window.addEventListener("load", function() {
|
||||
location = 0;
|
||||
cardData.atEOF = false;
|
||||
cardData.serial = 0;
|
||||
autoSymTab = {};
|
||||
pointTab = {};
|
||||
poolTab = {};
|
||||
symTab = {};
|
||||
@ -1692,7 +1709,7 @@ window.addEventListener("load", function() {
|
||||
text = padLeft(seq, 8, " ") + " " + padLeft(location, 4, "0") + " ";
|
||||
}
|
||||
|
||||
text += padRight(label, 6) + padRight(opCode || " ", 4) + padRight(sign, 2, " ") + operand;
|
||||
text += padRight(label, 6) + padRight(opCode || " ", 4) + padRight(sign, 2, " ") + rTrim(operand);
|
||||
printLine(text);
|
||||
if (errorTank.length > 0) {
|
||||
dumpErrorTank();
|
||||
@ -1850,6 +1867,7 @@ window.addEventListener("load", function() {
|
||||
if (cardData.atEOF) {
|
||||
done = true;
|
||||
if (!finito) {
|
||||
finito = true;
|
||||
printError("EOF encountered before FINI in Pass 1");
|
||||
}
|
||||
} else if (++sprintCount > sprintLimit && !continuedString) {
|
||||
@ -1860,15 +1878,20 @@ window.addEventListener("load", function() {
|
||||
if (!finito) {
|
||||
setTimeout(assemblePass1, 100);
|
||||
} else {
|
||||
buildPoolPass1();
|
||||
|
||||
// Wrap up Pass 1, check for undefined symbols
|
||||
for (text in symTab) {
|
||||
if (symTab[text] < 0) {
|
||||
printError("SYMBOL NOT DEFINED: " + text);
|
||||
// Wrap up Pass 1 and check for undefined symbols.
|
||||
// Oddly, undefined symbols appear to have been implicitly defined at the end,
|
||||
// so build a table of them and assign locations.
|
||||
for (label in symTab) {
|
||||
if (symTab[label] < 0) {
|
||||
autoSymTab[label] = location;
|
||||
symTab[label] = location;
|
||||
printPass1("", location, label, "", "", "");
|
||||
++location;
|
||||
}
|
||||
}
|
||||
|
||||
buildPoolPass1();
|
||||
|
||||
dumpErrorTank();
|
||||
printLine("END OF PASS 1, ERRORS = " + errorCount);
|
||||
dumpSymbolTable();
|
||||
@ -1958,7 +1981,7 @@ window.addEventListener("load", function() {
|
||||
" " + padLeft(location, 4, "0") + wordText + " ";
|
||||
}
|
||||
|
||||
text += padRight(label, 6) + padRight(opCode || " ", 4) + padRight(sign, 2, " ") + operand;
|
||||
text += padRight(label, 6) + padRight(opCode || " ", 4) + padRight(sign, 2, " ") + rTrim(operand);
|
||||
printLine(text);
|
||||
if (errorTank.length > 0) {
|
||||
dumpErrorTank();
|
||||
@ -2161,6 +2184,7 @@ window.addEventListener("load", function() {
|
||||
if (cardData.atEOF) {
|
||||
done = true;
|
||||
if (!finito) {
|
||||
finito = true;
|
||||
printError("EOF encountered before FINI in Pass 2");
|
||||
}
|
||||
} else if (++sprintCount > sprintLimit && !continuedString) {
|
||||
@ -2171,6 +2195,11 @@ window.addEventListener("load", function() {
|
||||
if (!finito) {
|
||||
setTimeout(assemblePass2, 100);
|
||||
} else {
|
||||
// dump the auto-defined symbols
|
||||
for (label in autoSymTab) {
|
||||
printPass2("", null, autoSymTab[label], 0, label, "", "", "");
|
||||
}
|
||||
|
||||
buildPoolPass2();
|
||||
|
||||
// Wrap up Pass 2, check again for undefined symbols (shouldn't be any)
|
||||
|
||||
@ -44,18 +44,18 @@ Dim fso
|
||||
Dim lastSeq
|
||||
|
||||
'---------------------------------------
|
||||
Function PadLeft(ByVal s, ByVal chars)
|
||||
Function PicZn(ByVal s, ByVal chars)
|
||||
'Formats the string "s" to be exactly "chars" characters long, padding
|
||||
'with spaces or truncating on the left, as necessary.
|
||||
Dim sLen
|
||||
|
||||
sLen = Len(s)
|
||||
If sLen < chars Then
|
||||
PadLeft = Space(chars - sLen) & s
|
||||
PicZn = Space(chars - sLen) & s
|
||||
ElseIf sLen > chars Then
|
||||
PadLeft = Right(s, chars)
|
||||
PicZn = Right(s, chars)
|
||||
Else
|
||||
PadLeft = s
|
||||
PicZn = s
|
||||
End If
|
||||
End Function
|
||||
|
||||
@ -98,10 +98,10 @@ Sub WriteCard(cardFile, seq, text)
|
||||
Dim seqNr
|
||||
Dim seqText
|
||||
|
||||
seqText = PadLeft(seq, 8)
|
||||
seqText = PicZn(seq, 8)
|
||||
image = PicXn(text, 72)
|
||||
If Len(Trim(seqText)) = 0 Then
|
||||
seqText = Replace(lastSeq, " ", "")
|
||||
seqText = Replace(Replace(lastSeq, " ", ""), ".", "")
|
||||
If IsNumeric(seqText) Then
|
||||
seqNr = CLng(seqText)
|
||||
Else
|
||||
@ -109,7 +109,7 @@ Sub WriteCard(cardFile, seq, text)
|
||||
End If
|
||||
|
||||
seqNr = seqNr + 10
|
||||
seqText = PadLeft("0" & seqNr, 6)
|
||||
seqText = PicZn("0" & seqNr, 6)
|
||||
seqText = Mid(seqText, 1, 3) & " " & Mid(seqText, 4, 2) & " " & Mid(seqText, 6)
|
||||
End If
|
||||
|
||||
@ -122,12 +122,15 @@ Sub ExtractCode(byVal xScriptName, byVal deckName)
|
||||
'Extracts source from an assembler transcription file.
|
||||
'The assembler source is written as card images to a file with the same
|
||||
'name as the transcription file, but modified with a ".card" extension.
|
||||
Dim addr
|
||||
Dim address
|
||||
Dim card
|
||||
Dim cardFile
|
||||
Dim label
|
||||
Dim lastAddr
|
||||
Dim line
|
||||
Dim lineNr
|
||||
Dim operand
|
||||
Dim opCode
|
||||
Dim seq
|
||||
Dim text
|
||||
Dim word
|
||||
@ -137,28 +140,41 @@ Sub ExtractCode(byVal xScriptName, byVal deckName)
|
||||
Const labelCol = 21
|
||||
Const opCodeCol = 27
|
||||
Const operandCol = 33
|
||||
Const lastCol = 90
|
||||
|
||||
Set xFile = fso.OpenTextfile(xScriptName, ForReading, False, False)
|
||||
lineNr = 1
|
||||
|
||||
Set cardFile = fso.OpenTextFile(deckName, ForWriting, True, True)
|
||||
line = xFile.ReadLine
|
||||
If Mid(line, addrCol, 2) = " " Then
|
||||
text = Mid(line, addrCol+2, opCodeCol-addrCol-2)
|
||||
If Len(Trim(text)) > 0 Then
|
||||
'-- assume it's a heading line and convert to a REM card
|
||||
WriteCard cardFile, Mid(line, 1, 8), "1" & Space(9) & "REM " & Mid(line, addrCol+2, lastCol-addrCol+2)
|
||||
line = xFile.ReadLine
|
||||
End If
|
||||
End If
|
||||
|
||||
Do While Not xFile.AtEndOfStream
|
||||
line = xFile.ReadLine
|
||||
lineNr = lineNr+1
|
||||
seq = RTrim(Mid(line, 1, 8))
|
||||
address = RTrim(Mid(line, addrCol, 4))
|
||||
label = RTrim(Mid(line, labelCol, 5))
|
||||
opCode = RTrim(Mid(line, opCodeCol, 5))
|
||||
operand = RTrim(Mid(line, operandCol, lastCol-operandCol))
|
||||
seq = LTrim(Mid(line, 1, 8))
|
||||
|
||||
'-- If the sequence and opCode fields are blank, and address field is not present, generate a REM card
|
||||
'-- If the sequence field is blank, and the address field IS present, do not generate a card
|
||||
If Len(seq) = 0 And Len(RTrim(Mid(line, opCodeCol, 5))) = 0 And Len(RTrim(Mid(line, addrCol, 4))) = 0 Then
|
||||
WriteCard cardFile, seq, "1" & Space(9) & "REM " & Mid(line, operandCol)
|
||||
ElseIf Len(seq) > 0 Or Len(RTrim(Mid(line, addrCol, 4))) = 0 Then
|
||||
'-- If the address and opCode fields are blank, generate a REM card
|
||||
'-- If the sequence field is blank, and the address field is not, do not generate a card
|
||||
If Len(opCode) = 0 And Len(address) = 0 Then
|
||||
WriteCard cardFile, seq, "1" & Space(9) & "REM " & operand
|
||||
ElseIf Len(seq) > 0 Or Len(address) = 0 Then
|
||||
'-- Reformat and write the assembler card image
|
||||
WriteCard cardFile, seq, "1" & Space(3) & _
|
||||
PicXn(Mid(line, labelCol, 5), 6) & _
|
||||
PicXn(Mid(line, opCodeCol, 5), 6) & _
|
||||
Mid(line, operandCol)
|
||||
PicXn(label, 6) & PicXn(opCode, 6) & operand
|
||||
End If
|
||||
|
||||
line = xFile.ReadLine
|
||||
Loop
|
||||
|
||||
cardFile.Close
|
||||
@ -181,7 +197,7 @@ Else
|
||||
If args.Count > 1 Then
|
||||
lastSeq = Trim(args.Item(1))
|
||||
Else
|
||||
lastSeq = "01 0"
|
||||
lastSeq = "09 0"
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
@ -6,6 +6,9 @@ Unless otherwise specified, all files are in standard Windows text
|
||||
format, with carriage-return/line-feed delimiters.
|
||||
|
||||
|
||||
[WORK IN PROGRESS]
|
||||
|
||||
|
||||
BAC-Assembler.html
|
||||
HTML/Javascript assembler for the assembly language dialect used
|
||||
with the BALGOL Main, Overlay, and intrinsic functions.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user