1
0
mirror of https://github.com/pkimpel/retro-220.git synced 2026-04-26 20:18:00 +00:00

Commit initial BALGOL transcription WIP.

Commit initial web site page and resources.
This commit is contained in:
Paul Kimpel
2016-11-07 08:06:03 -08:00
parent 7f5873c89b
commit 6c699d068f
16 changed files with 731 additions and 2 deletions

View File

@@ -0,0 +1,311 @@
Addr Sym Op - Address Comments
ASMBL 1
REORD 1.00
THE BURROUGHS ALGEBRAIC COMPILER
ERDWINN, MERNER, CROWDER, SPERONI, KNUTH
DAHM, OLIPHINT, LOGEMANN, SCHUMAN
FEBRUARY 1,1962
15 0 0000 OT DEFN 1 OUTPUT TAPE UNIT
16 0 0000 T DEFN 2 PROGRAM TAPE UNIT
17 0 0000 PNTR DEFN 2 PRINTER UNIT
18 0 0000 LODOX DEFN 74
19 0 0000 LODOV DEFN 76
20 0 0000 MSIZE DEFN 4999 SIZE OF MEMORY
21 0 0000 LOCN 0
22 0 0000 BUF DEFN 0002
23 0 0000 BUN LOD
24 0 0001 BUN STORE
26 0 0002 LOD MRW 4 T TAPE LOADING ROUTINE
27 0 0003 CLB FOR FIRST PHASE
28 0 0004 *A MNC 5 0,T,10
29 0 0005 LDB *+1
30 0 0006 CLA 999
31 0 0007 *B ADD - 0
32 0 0008 DBB B-,1
33 0 0009 BZA C+
34 0 0010 SPO E+,4 SUM CHECK NONZERO
35 0 0011 MPB 4 T,10 CAUSES TYPEOUT AND HALT
36 0 0012 F424 9669,0,9669
37 0 0013 KDB B- PRESS START TO TRY AGAIN
38 0 0014 BUN A-
39 0 0015 *C DFL *+1,11,1 FIVE TIMES
40 0 0016 *G F424 4000,42,B- TEN BLOCKS
41 0 0017 IBB *+1,999 999 LOCATIONS PER BLOCK
42 0 0018 STB B-,04
43 0 0019 BRP A-
44 0 0020 BUN 46
45 0 0021 *E CNST $$CHECK SUM ERROR$$
46 0 0022 LOCN 46
47 0 0046 *D LDB Z+ READ LAST BLOCK INTO THE
48 0 0047 MNC 5 0,T,2 END OF MEMORY
49 0 0048 LDB *+1 (THIS HOLDS PATCHES AND
50 0 0049 CLA 199
51 0 0050 *Z ADD - MSIZE-199
52 0 0051 DBB *-1,1 SUM CHECK IT, TOO
53 0 0052 BZA D+
54 0 0053 SPO E-,4
55 0 0054 MPB 4 T,2
56 0 0055 F424 9669,00,9669
57 0 0056 BUN D-
58 0 0057 *D DFL G-,11,5
59 0 0058 STA B-,04
60 0 0059 BOF STACK
TAPE STORING ROUTINE.
63 0 0060 STORE MRW 4 T
64 0 0061 *B LDB *+1 REWRITES COPILER FROM CORE
65 0 0062 CLA 998 IN THE FORM REQUIRED BY LOADING ROUTINE.
66 0 0063 *A ADD - 0
67 0 0064 DBB *-1,1
68 0 0065 LDB A-
69 0 0066 LDR - 999
70 0 0067 STA - 999
71 0 0068 CSU - 999 COMPUTE CHECK SUM
72 0 0069 STA - 999
73 0 0070 MOW 5 0,T,10
74 0 0071 STR - 999
75 0 0072 IBB *+1,999
76 0 0073 STB A-,04
77 0 0074 DFL G-,11,1
78 0 0075 BRP B-
79 0 0076 DFL G-,11,5
80 0 0077 *C CLA 199
81 0 0078 STA A-,04
82 0 0079 LDB Z-
83 0 0080 CLL - 0
84 0 0081 STB *+2,04
85 0 0082 LDB C-
86 0 0083 *D ADD - 0
87 0 0084 DBB *-1,1
88 0 0085 LDB D-
89 0 0086 STA - 0
90 0 0087 CSU - 0
91 0 0088 STA - 0
92 0 0089 MOW 5 0,T,2
93 0 0090 MRW 4 T
94 0 0091 CLT
95 0 0092 STA D-,04
96 0 0093 BOF *+1
97 0 0094 HLT 2222 STOP WHEN JOB IS COMPLETED
98 0 0095 BUN LOD
SECTION A. BIG TABLES.
001 02 0 0096 LOCN 102 DICTIONARY OF ALL WORDS USED IN ERROR MESSAGES
01 03 0 0102 DICT CNST 34954575956 01 IMPROPER
01 04 0 0103 CNST $PER$
01 05 0 0104 CNST 34348415941 03 CHARACTER
01 06 0 0105 CNST $CTER$
01 07 0 0106 CNST $PAIR$ 05 PAIR
01 08 0 0107 CNST 34464575349 06 DUPLICATE
01 09 0 0108 CNST $CATE$
01 10 0 0109 CNST 35759564345 08 PROCEDURE
01 11 0 0110 CNST $DURE$
01 12 0 0111 CNST $NAME$ 10 NAME
01 13 0 0112 CNST 34664554363 11 FUNCTION
01 14 0 0113 CNST $ION$
01 15 0 0114 CNST 34159476454 13 ARGUMENT
01 16 0 0115 CNST $ENT$
01 17 0 0116 CNST 35449625753 15 MISPLACED
01 18 0 0117 CNST $ACED$
01 19 0 0118 CNST $LABEL$ 17 LABEL
01 20 0 0119 CNST 34159496348 18 ARITHMETIC
01 21 0 0120 CNST $METIC$
01 22 0 0121 CNST 35657455941 20 OPERATION
01 23 0 0122 CNST $TION$
01 24 0 0123 CNST 36541594941 22 VARIABLE
01 25 0 0124 CNST $BLE$
01 26 0 0125 CNST 36268544256 24 SYMBOL
01 27 0 0126 CNST $L$
01 28 0 0127 CNST 34445434954 26 DECIMAL
01 29 0 0128 CNST $AL$
01 30 0 0129 CNST $POINT$ 28 POINT
01 31 0 0130 CNST $SCALE$ 29 SCALE
01 32 0 0131 CNST 34641436356 30 FACTOR
01 33 0 0132 CNST $R$
01 34 0 0133 CNST 36263416345 32 STATEMENT
01 35 0 0134 CNST $MENT$
01 36 0 0135 CNST 34356556263 34 CONSTANT
01 37 0 0136 CNST $ANT$
01 38 0 0137 CNST $OUT$ 36 OUT
01 39 0 0138 CNST $OF$ 37 OF
01 40 0 0139 CNST $RANGE$ 38 RANGE
01 41 0 0140 CNST 34356545749 39 COMPILER
01 42 0 0141 CNST $LER$
01 43 0 0142 CNST 34341574143 41 CAPACITY
01 44 0 0143 CNST $ITY$
01 45 0 0144 CNST 34567434545 43 EXCEEDED
01 46 0 0145 CNST $DED$
01 47 0 0146 CNST $COMMA$ 45 COMMA
01 48 0 0147 CNST $EXTRA$ 46 EXTRA
01 49 0 0148 CNST 36264426243 47 SUBSCRIPT
01 50 0 0149 CNST $RIPT$
01 51 0 0150 CNST $EMPTY$ 49 EMPTY
01 52 0 0151 CNST 35756624963 50 POSITION
01 53 0 0152 CNST $ION$
01 54 0 0153 CNST $RIGHT$ 52 RIGHT
01 55 0 0154 TEMP CNST $LEFT$ NOT USED
01 56 0 0155 CNST 35741594555 54 PARENTHESIS
01 57 0 0156 CNST 36348456249
01 58 0 0157 EX0 CNST 26200007777
01 59 0 0158 CNST 35945534163 57 RELATION
01 60 0 0159 CNST $ION$
01 61 0 0160 CNST 34256565345 59 BOOLEAN
01 62 0 0161 CNST $AN$
01 63 0 0162 CNST 35657455941 61 OPERAND
01 64 0 0163 CNST $ND$
01 65 0 0164 CNST $ARRAY$ 63 ARRAY
01 66 0 0165 CNST 34445435341 64 DECLARATION
01 67 0 0166 CNST 35941634956
01 68 0 0167 CNST $N$
01 69 0 0168 CNST 34162624947 67 ASSIGNMENT
01 70 0 0169 CNST $NMENT$
01 71 0 0170 CNST $MOD$ 69 MOD
01 72 0 0171 CNST $INPUT$ 70 INPUT
01 73 0 0172 CNST 35449626249 71 MISSING
01 74 0 0173 CNST $NG$
TEMPORARY STORAGE AND COUNTERS
01 78 0 0174 ABASE CNST 100000 BEGINNING LOCATION OF LAST ARRAY DECLARED
01 79 0 0175 ACCUM HLT 0 RESULT OF ARITHMETIC OPERATION
01 80 0 0176 ARRI HLT 0 PRODUCT OF ARRAY DIMENSIONS
01 81 0 0177 ARRL HLT 0 BASE DECREMENT IN ARRAY DECLARATION
01 82 0 0178 ARTHM HLT 0 IJ-PAIRS FOR ARITHMETIC GENERATOR
01 83 0 0179 CHAR HLT 0 LAST CHARACTER READ FROM CARD
01 84 0 0180 CNTRI HLT 0 COUNTER FOR INSTRUCTIONS IN TARGET BUFFER
01 85 0 0181 CNTRF HLT 96 COUNTER FOR FIX-UPS IN BUFFER
01 86 0 0182 D LT 0 EXPONENT OF NUMBER
01 87 0 0183 WRTF RTF 4 *,0 RECORD TRANSFER CONSTANT FOR WRITE SUBROUTINE
01 88 0 0184 DESCR HLT 0 OUTPUT INSTRUCTION
01 89 0 0185 EXPLN HLT 0 SYMBOL ADDRESSES OF INSTRUCTION
01 90 0 0186 DEX HLT 0 CURRENT CONTENTS OF B REGISTER
01 91 0 0187 FP HLT 0 FRACTIONAL PART OF CONSTANT
01 92 0 0188 FRSTP HLT 0 1ST PARAMETER TO PROCEDURE DECLARATION
01 93 0 0189 G HLT 0 SIGN OF INSTRUCTION FOR ASSEMBLER
01 94 0 0190 GP HLT 0 TEMP STORAGE OF G
01 95 0 0191 I HLT 0 LEFTHAND DIGIT OF IJ-PAIR
01 96 0 0192 INSTP HLT 0 TEMP STORAGE OF INSTR
01 97 0 0193 INSTR HLT 0 INSTRUCTION BEING ASSEMBLED
01 98 0 0194 IOPUS HLT 0 I-O DECLARATION COMMUNICATION LINE
01 99 0 0195 IRSTP HLT 0 FRSTP IN 64-FIELD
02 00 0 0196 J HLT 0 RIGHTHAND DIGIT OF IJ-PAIR
02 01 0 0197 K HLT 0 TWICE NUMBER OF CHARACTERS IN IDENTIFIER
02 02 0 0198 K1 HLT 3 LEFT CHARACTER TYPE -- INITIALLY LEFT PAREN
02 03 0 0199 K2 HLT 3 RIGHT CHARACTER TYPE
02 04 0 0200 KC HLT 0 NUMBER OF PROCEDURE AND FUNCTION DECLARATIONS
02 05 0 0201 L HLT 0 CODE WORD FOR PRESENT IDENTIFIER
02 06 0 0202 LCMAX HLT 0 HIGHEST LOCATION USED IN SEGMENTS
02 07 0 0203 LEVEL HLT 0 KC LEVEL OF CURRENT PROCEDURE DECLARATION
02 08 0 0204 LL0 HLT 0 SCRAMBLED STARTING VALUE FOR ALPHA LOOKUP
02 09 0 0205 LOCNP HLT 0 TEMP STORAGE OF LOCN
02 10 0 0206 LP HLT 0 TEMP STORAGE OF L
02 11 0 0207 LRTF HLT 0 LOCATION OF LAST RTF IN OUTPUT BUFFER
02 12 0 0208 MSG HLT 8 STORAGE FOR ERROR MESSAGES
02 13 0 0209 LOCN *+6
02 14 0 0215 HALT1 DEFN MSG
02 15 0 0215 OPRTM HLT 0 RELATIONAL OPERATION
02 16 0 0216 OPRTN HLT 0 CURRENT OPERATION SENT TO GENERATORS
02 17 0 0217 PAR HLT 0 CURRENT DIMENSION OF ARRAY
02 18 0 0218 PLOC HLT 0 BEGINNING OF PROCEDURE DECLARATION CODE
02 19 0 0219 RR1 HLT 0 OTHERWISE TYPE OF MAIN PROGRAM
02 20 0 0220 RR2 HLT 0 TYPE OF CURRENT DECLARATION
02 21 0 0221 RR3 HLT 0 OTHERWISE TYPE OF CURRENT PROGRAM
02 22 0 0222 S1 HLT 24 LEFT CHARACTER (CARDATRON CODE) INITIALLY (
02 23 0 0223 S2 HLT 24 RIGHT CHARACTER (CARDATRON CODE)
02 24 0 0224 SAVOP HLT 0 TEMP STORAGE FOR OPERATOR
02 25 0 0225 SCNCT HLT 2 CURRENT PLACE IN CARD IMAGE
02 26 0 0226 SER HLT 0 LOCATION OF A-REGISTER CONTENTS IN STACK
02 27 0 0227 SMBL HLT 0 TEMP STORAGE FOR SCANNED SYMBOL
02 28 0 0228 STSV HLT 0 CIRCLE J(INPUT) OR CIRCLE K(OUTPUT)
02 29 0 0229 RR0 HLT 0 CONTROL CODE FOR SYMBL
02 30 0 0230 SYMBL HLT 0
02 31 0 0231 HLT 0 STORAGE FOR 50-CHARACTER IDENTIFIER
02 32 0 0232 HLT 0
02 33 0 0233 HLT 0
02 34 0 0234 HLT 0
02 35 0 0235 HLT 0
02 36 0 0236 HLT 0
02 37 0 0237 HLT 0
02 38 0 0238 HLT 0
02 39 0 0239 HLT 0
02 40 0 0240 V1 HLT 0 V-OPERANDS ARE SET UP BY GENERATOR
02 41 0 0241 V2 HLT 0 AND USED BY ASSEMBLER
02 42 0 0242 V3 HLT 0
02 43 0 0243 V4 F244 21,XONE,0 CONSTANT 1
02 44 0 0244 V5 F244 20,FONE,0 CONSTANT 1.0
02 45 0 0245 V6 F244 21,XZERO,0 CONSTANT 0
02 46 0 0246 V7 F244 20,FZERO,0 CONSTANT 0.0
02 47 0 0247 V8 F244 40,LALE,0
02 48 0 0248 V9 HLT
02 49 0 0249 V10 F244 21,XTWO,0 CONSTANT 2
02 50 0 0250 V11 F244 20,FTWO,0 CONSTANT 2.0
02 51 0 0251 VARB HLT MSIZE LAST LOCATION USED FOR TARGET VARIABLES,ETC.
02 52 0 0252 VIMAG HLT 0 CURRENT V-OPERAND
02 53 0 0253 V DEFN V1-1
SWITCHES SET BY TRANSLATOR
02 56 0 0253 SW2 HLT 0 PROCESSING SCALE FACTOR
02 57 0 0254 SW3 HLT 0 DECIMAL POINT SENSED IN CONSTANT
02 58 0 0255 SW6 HLT 0 WE MIGHT WANT IMPLIED MULTIPLICATION
02 59 0 0256 ALPHA HLT 1 CONTROL OF ITERATION LIST
02 60 0 0257 DELTA HLT 0 CONTROLS WHAT TO DO AT NEXT SEMICOLON
02 61 0 0258 EPSLN HLT 0 NUMBER OF EXTERNAL THINGS
02 62 0 0259 KAPPA HLT 0 EMPTY SUBSCRIPTS HAVE APPEARED
02 63 0 0260 PHI HLT 0 IGNORE NEXT LEFT PARENTHESIS
02 64 0 0261 PSI HLT 0 NEXT FORWARD REFERENCE IS INCREMENTED
02 65 0 0262 CHI HLT 0 MONITOR LABELS IN CURRENT PROGRAM
02 66 0 0263 CHI3 HLT 0 MONITOR LABELS OUTSIDE OF PROCEDURES
02 67 0 0264 OMEGA HLT 0 FOR MODE IN ASSIGNMENT GENERATOR
02 68 0 0265 FNSW HLT 0 PROCESSING FUNCTION DECLARATION
02 69 0 0266 PARSW HLT 0 PROCESSING PROCEDURE OR FUNCTION PARAMETERS
02 70 0 0267 TAG HLT 0 IDENTIFIER IS A LABEL
02 71 0 0268 XI HLT 0 LAST INSTRUCTION ASSEMBLED WAS SLT10
02 72 0 0269 LAMDA HLT 0 OTHERWISE HAS APPEARED IN EITHER IF CASE
02 73 0 0270 PI HLT 0 PUT FORWARD REFERENCE OPERATORS ON EXEC STACK
02 74 0 0271 IOTA HLT 0 ARRAY NOT YET DECLARED
02 75 0 0272 OMCRN HLT 0 IGNORE NEXT SEMICOLON
STACKS IN ASSOCIATIVE MEMORY
02 78 0 0273 AVAIL F424 0000,0,0 FREED-UP LOCATIONS
02 79 0 0274 FUNS F424 FUNS,0,0 CONTROL OF PROCEDURE,FUNCTION CALLS
02 80 0 0275 OP F424 OP,0,0 OPERATORS WAITING TO BE USED
02 81 0 0276 ARAS F424 ARAS,0,0 INCREMENT WORDS FOR ARRAY
02 82 0 0277 DIMS F424 DIMS,0,0 ARRAY DIMENSIONS
02 83 0 0278 EXEC F424 EXEC,0,0 FORWARD REFERENCES TO FOR LOOP
02 84 0 0279 FV F424 FV,0,0 FOR VARIABLE
02 85 0 0280 MULS F424 MULS,0,0 DIMENSIONS
02 86 0 0281 MODE F424 MODE,0,NRMMD MODE TRANSLATOR IS IN (INITIALLY NORMAL)
02 87 0 0282 MULS F424 MULT,0,0 MULS STACK BACKWARDS
02 88 0 0283 OPRND F424 OPRND,0,0 OPERANDS WAITING TO BE USED
02 89 0 0284 PAREF F424 PAREF,0,0 REFERENCE TO PROCEDURE PARAMETERS
02 90 0 0285 PR1 F424 PR3,0,0 PREFIXES OUTSIDE OF PROCEDURES
02 91 0 0286 PR3 F424 PR3,0,0 CURRENT PREFIXES
02 92 0 0287 RV F424 RV,0,0 FOR VARIABLE (BACKWARDS)
02 93 0 0288 SAVET F424 SAVET,0,0 TEMP STORAGE CELLS SAVED
02 94 0 0289 SETUP F424 SETUP,0,0 REFERENCE TO A PROCEDURE PARAMETER
02 95 0 0290 TEMPS F424 TEMPS,0,0 TEMP STORAGE CELLS AVAILABLE
02 96 0 0291 XVP F424 XVP,0,0 ARRAYS IN MULTIPLE INDEXING
02 97 0 0292 DUMBS F424 DUMBS,0,0 LEVELS WHERE DUMP CARD APPEARS
03 00 0 0293 OPTAB DEFN * TABLE OF OPERATION SYMBOLS
03 01 0 0293 CRA F2443 0,GCRA,1 00 INPUT OR OUTPUT
03 02 0 0294 CRB F2441 01,GCRB,1 01 EQUAL
03 03 0 0295 CRC F2442 00,GCRC,1 02 FUNCTION CALL COMMA
03 04 0 0296 DOT F2440 12,0048,1 03 . MULTIPLICATION
03 05 0 0297 RPAR F2440 00,0000,3 04 ) RIGHT PARENTHESIS
03 06 0 0298 CRD F2441 41,GCRD,1 05 MOD COMMA
03 07 0 0299 CRE F2443 00,GCRE,1 06 EITHER
03 08 0 0300 CRF F2441 00,GCRF,1 07 ARRAY DECLARATION
03 09 0 0301 CRG F2442 00,GCRG,1 08 ARRAY DECLARATION
03 10 0 0302 CRH F2442 00,GCRH,1 09 SWITCH
03 11 0 0303 PLUS F2440 10,0000,1 10 + ADDITION
03 12 0 0304 CRI F2443 00,GCRI,1 11 INPUT OR OUTPUT
03 13 0 0305 CRJ F2442 00,GCRJ,1 12 INPUT LABEL COMMA
03 14 0 0306 SMCLN F2446 00,SEMI,5 13 $ SEMICOLON
03 15 0 0307 EXPN F2441 14,GEXPN,1 14 * EXPONENTIATION
03 16 0 0308

View File

@@ -0,0 +1,17 @@
Index of folder retro-220/software/BALGOL:
Source, object, and assembly listings for the Burroughs Algebraic
Compiler, an implementation of Algol-58 for the Burroughs 205, as
prepared for the retro-220 emulator.
Unless otherwise specified, all files are in standard Windows text
format, with carriage-return/line-feed delimiters.
BALGOL-Main.baca
Assembly listing of the BALGOL compiler mainline module, transcribed
by Paul Kimpel from
http://archive.computerhistory.org/resources/text/Knuth_Don_X4100/
PDF_index/k-1-pdf/k-1-u2196-balgol220compiler.pdf.
[work in progress]