ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:11 2020
Source File: \zucart.asm
INITIAL LD UTILITY CARTRIDGE BUILDER
2 | *************************************************** ZUC00020
3 | * * ZUC00030
4 | * PROGRAM NAME- INITIAL LOAD UTILITY CARTRIDGE * ZUC00040
5 | * BUILDER. * ZUC00050
6 | * CODE NAME- UCART * ZUC00060
7 | * FUNCTION/OPERATION- * ZUC00070
8 | * THE PURPOSE OF THIS PROGRAM IS TO STORE A * ZUC00080
9 | * DISK MONITOR SYSTEM INITIAL LOAD DECK ON A * ZUC00090
10 | * DISK CARTRIDGE. THIS CARTRIDGE MAY THEN BE* ZUC00100
11 | * USED TO TRANSPORT THE SYSTEM DECK TO A * ZUC00110
12 | * USER. THE USER PERFORMS A COLD START WITH * ZUC00120
13 | * THIS CARTRIDGE USING A SYSTEM COLD START * ZUC00130
14 | * CARD CAUSING THE CARD DECK PREVIOUSLY * ZUC00140
15 | * STORED TO BE PUNCHED. * ZUC00150
16 | * * ZUC00160
17 | * UCART READS CARDS FROM A 1442 MODEL 6 CARD * ZUC00170
18 | * READER. THE CARD IMAGES ARE STORED IN * ZUC00180
19 | * SUCCESSIVE DISK SECTORS, 4 CARDS PER SCTR, * ZUC00190
20 | * BEGINNING WITH SCTR 8 OF LOGICAL DRIVE 1. * ZUC00200
21 | * A PROGRAM TO DUMP THE CARDS SO STORED, * ZUC00210
22 | * ALONG WITH THE NECESSARY PUNCH SUBROUTINE, * ZUC00220
23 | * COLD START PROGRAM, AND THE RESIDENT CORE * ZUC00230
24 | * IMAGE, IS STORED ON CYLINDER 0 OF THE DISK.* ZUC00240
25 | * ENTRY POINTS- * ZUC00250
26 | * UCART HAS ONLY ONE ENTRY POINT. THE PROGRAM* ZUC00260
27 | * IS ENTERED AS FOLLOWS-- * ZUC00270
28 | * // JOB XXXX YYYY * ZUC00280
29 | * // XEQ UCART * ZUC00290
30 | * * ZUC00300
31 | * WHERE XXXX IS THE LABEL OF THE MASTER CART * ZUC00310
32 | * AND YYYY IS THE LABEL OF THE CART ON * ZUC00320
33 | * WHICH THE CARDS ARE TO BE STORED. * ZUC00330
34 | * INPUT- CARDS. THE 80-80 IMAGE TO BE STORED ON* ZUC00340
35 | * DISC. * ZUC00350
36 | * OUTPUT- A DISK CARTRIDGE CONTAINING CARD * ZUC00360
37 | * IMAGES IS GENERATED. * ZUC00370
38 | * EXTERNAL REFERENCES- * ZUC00380
39 | * $CIBA ADDR OF CIB ON MASTER CARTRIDGE * ZUC00390
40 | * $CH12 CHANNEL 12 INDICATOR * ZUC00400
41 | * $IBSY PRINCIPAL I/O BUSY INDICATOR * ZUC00410
42 | * $IOCT IOCS CTR * ZUC00420
43 | * $LAST LAST CARD INDICATOR * ZUC00430
44 | * $EXIT ADDR CALL EXIT ENTRY POINT * ZUC00440
45 | * $PST4 ADDR OF POST-OPERATIVE ERROR TRAP * ZUC00450
46 | * $CYLN LOGICAL 0 ARM POSITION * ZUC00460
47 | * $ACDE AREA CODE FOR LOGICAL DRIVE 0 * ZUC00470
48 | * $DCYL 1ST DEFECTIVE CYL ADDR, LOGICAL DR 0* ZUC00480
49 | * $I405 ILS04 ENTRY POINT * ZUC00490
50 | * $IBT4 INTERRUPT BRANCH TABLE ADDR- LEVEL 4* ZUC00500
51 | * $DBSY DISK BUSY INDICATOR * ZUC00510
52 | * DZ000 DISKZ ENTRY POINT * ZUC00520
53 | * $ZEND LAST WORD OF DISKZ+1 * ZUC00530
54 | * @RIAD SECTOR CONTAINING RESIDENT IMAGE * ZUC00540
55 | * EXITS- * ZUC00550
56 | * NORMAL- * ZUC00560
57 | * BR TO CALL EXIT ENTRY POINT * ZUC00570
58 | * ERROR- * ZUC00580
59 | * NOT APPLICABLE * ZUC00590
60 | * TABLES/WORK AREAS- * ZUC00600
61 | * NONE * ZUC00610
62 | * ATTRIBUTES- * ZUC00620
63 | * NONE * ZUC00630
64 | * NOTES- * ZUC00640
65 | * PROGRAM REVISED IN MOD 2 * ZUC00650
66 | * * ZUC00660
67 | *************************************************** ZUC00670
INITIAL LD UTILITY CARTRIDGE BUILDER
69 | * ZUC00690
70 | * SYSTEM EQUATE STATEMENTS ZUC00700
71 | * ZUC00710
0005 72 | $CIBA EQU /5 ZUC00720
0006 73 | $CH12 EQU /6 ZUC00730
0013 74 | $IBSY EQU /13 ZUC00740
0032 75 | $IOCT EQU /32 ZUC00750
0033 76 | $LAST EQU /33 ZUC00760
0038 77 | $EXIT EQU /38 ZUC00770
008D 78 | $PST4 EQU /8D ZUC00780
009A 79 | $CYLN EQU /9A ZUC00790
009F 80 | $ACDE EQU /9F ZUC00800
00A4 81 | $DCYL EQU /A4 ZUC00810
00D3 82 | $I405 EQU /D3 ZUC00820
00D4 83 | $IBT4 EQU $I405+1 ZUC00830
00EE 84 | $DBSY EQU /EE ZUC00840
00F2 85 | DZ000 EQU /F2 ZUC00850
01E0 86 | $ZEND EQU /1E0 ZUC00860
0002 87 | @RIAD EQU 2 ZUC00870
88 | * ZUC00880
89 | * MISCELLANEOUS EQUATE STATEMENTS ZUC00890
90 | * ZUC00900
0250 91 | ZBADR EQU /250 ZUC00910
0390 92 | A EQU ZBADR+320 START OF DUMP ROUTINE ZUC00920
007F 93 | Y EQU /7F ZUC00930
94 | * ZUC00940
95 | * GET PRINCIPAL I/O ROUTINE ZUC00950
96 | * ZUC00960
0000 C400 00D4 97 | ZC000 LD L $IBT4 SAVE BRANCH TABLE POINTER ZUC00970
0002 D04F 98 | STO ZC920 ZUC00980
0003 CC00 0008 99 | LDD L 8 INTERRUPT BR ADDRESSES ZUC00990
0005 D84E 100 | STD ZC921 TEMPORARY STORAGE ZUC01000
0006 0689*3155 101 | CALL FSLEN ZUC01010
0008 0090 102 | DC /90 PHASE ID OF 1442 ROUTINE ZUC01020
0009 068A*88A4 103 | CALL FSYSU ZUC01030
000B 903E 104 | S ZC911 THREE ZUC01040
000C D001 105 | STO *+1 ADDR OF WORD COUNT ZUC01050
000D 6500 0000 106 | ZC010 LDX L1 *-* ZUC01060
107 | * ZUC01070
108 | * STORE 1442 ROUTINE TO SECTOR 3 ZUC01080
109 | * ZUC01090
000F 18D0 110 | RTE 16 SHIFT ADDR TO EXTENSION ZUC01100
0010 C038 111 | LD ZC910 SCTR ADDR /1003 ZUC01110
0011 D101 112 | STO 1 1 ZUC01120
0012 C038 113 | LD ZC912 /7001 WRITE FUNC CODE ZUC01130
0013 4042 114 | BSI ZC100 BR TO DO DISK OPERATION ZUC01140
115 | * ZUC01150
116 | * READ SECTOR 0 FROM MASTER CARTRIDGE ZUC01160
117 | * ZUC01170
0014 C039 118 | LD ZC914 1 SCTR WORD COUNT ZUC01180
0015 D100 119 | STO 1 0 ZUC01190
0016 C0F7 120 | LD ZC010+1 ADDR OF BUFFER WORD COUNT ZUC01200
0017 1890 121 | SRT 16 SHIFT TO EXTENSION, ACC=0 ZUC01210
0018 D101 122 | STO 1 1 ADDR SCTR 0 OF MASTER ZUC01220
0019 403C 123 | BSI ZC100 BR TO DO DISK OPERATION ZUC01230
124 | * ZUC01240
125 | * BUILD SECTOR 0 FOR SPECIAL DUMP CART ZUC01250
126 | * ZUC01260
001A C831 127 | LDD ZC913 WD COUNT AND SCTR ADDR ZUC01270
001B D900 128 | STD 1 0 WD CNT=4, SCTR ADDR=1000 ZUC01280
001C C0F1 129 | LD ZC010+1 ADDR OF BUFFER WORD COUNT ZUC01290
001D 1890 130 | SRT 16 SHIFT TO EXTENSION, ACC=0 ZUC01300
131 | * ZUC01310
132 | * OVERLAY DEFECTIVE CYL TABLE AND CART ZUC01320
133 | * ID FROM LOGICAL 1 CARTRIDGE ZUC01330
134 | * ZUC01340
001E 4037 135 | BSI ZC100 BR TO DO DISK OPERATION ZUC01350
136 | * ZUC01360
137 | * MOVE SPECIAL COLD START TO BUFFER ZUC01370
138 | * ZUC01380
001F C02A 139 | LD ZC911 SET STATUS ZUC01384
0020 D109 140 | STO 1 9 *WORD (WORD 7 = +3) ZUC01386
0021 6908 141 | STX 1 ZC050+1 SET UP BUFFER ADDR TO MOVE ZUC01390
0022 C007 142 | LD ZC050+1 *SPECIAL COLD START TO END ZUC01400
0023 802A 143 | A ZC914 *OF SCTR 0 BUFFER ZUC01410
0024 802A 144 | A ZC915 ZUC01420
0025 D004 145 | STO ZC050+1 ZUC01430
0026 62CE 146 | LDX 2 ZB800-ZB830 MOVE WORD COUNT ZUC01440
0027 C600 0956R 147 | LD L2 ZB830 NEXT WORD TO MOVE ZUC01450
0029 D600 0000 148 | ZC050 STO L2 *-* MOVE SPECIAL COLD START ZUC01460
002B 7201 149 | MDX 2 1 INCR MOVE COUNTER ZUC01470
002C 70FA 150 | MDX ZC050-2 BR TO MOVE NEXT WORD ZUC01480
151 | * ZUC01490
152 | * WRITE SCTR 0 TO SPECIAL DUMP CART ZUC01500
153 | * ZUC01510
002D C020 154 | LD ZC914 1 SCTR WORD COUNT (320) ZUC01520
002E D100 155 | STO 1 0 ZUC01530
002F C0DE 156 | LD ZC010+1 WD COUNT ADDRESS ZUC01540
0030 18D0 157 | RTE 16 SHIFT INTO EXTENSION ZUC01550
0031 C019 158 | LD ZC912 WRITE FUNC CODE ZUC01560
0032 4023 159 | BSI ZC100 BR TO DO DISK OPERATION ZUC01570
160 | * ZUC01580
161 | * GET RESIDENT IMAGE FROM MASTER CART ZUC01590
162 | * AND STORE ON SPECIAL DUMP CARTRIDGE ZUC01600
163 | * ZUC01610
0033 C01B 164 | LD ZC915 SCTR ADDR /0002 OF RESIDENT ZUC01620
0034 D101 165 | STO 1 1 ZUC01630
0035 C0D8 166 | LD ZC010+1 ADDR OF BUFFER WORD COUNT ZUC01640
0036 1890 167 | SRT 16 SHIFT TO EXTENSION, ACC=0 ZUC01650
0037 401E 168 | BSI ZC100 BR TO DO DISK OPERATION ZUC01660
0038 C017 169 | LD ZC915+1 SCTR ADDR /1002 ZUC01670
0039 D101 170 | STO 1 1 ZUC01680
003A C0D3 171 | LD ZC010+1 ADDR OF BUFFER WORD COUNT ZUC01690
003B 18D0 172 | RTE 16 SHIFT TO EXTENSION ZUC01700
003C C00E 173 | LD ZC912 WRITE FUNC CODE ZUC01710
003D 4018 174 | BSI ZC100 BR TO DO DISK OPERATION ZUC01720
175 | * ZUC01730
176 | * STORE DISK TO CARD DUMP ON SCTR 4 ZUC01740
177 | * ZUC01750
003E C012 178 | LD ZC916 ADDR OF BUFFER WORD COUNT ZUC01760
003F 18D0 179 | RTE 16 ZUC01770
0040 C00A 180 | LD ZC912 WRITE FUNC CODE ZUC01780
0041 4014 181 | BSI ZC100 BR TO DO DISK OPERATION ZUC01790
0042 C00F 182 | LD ZC920 ZUC01800
0043 D400 00D4 183 | STO L $IBT4 RESTORE BRANCH TBL POINTER ZUC01810
0045 C80E 184 | LDD ZC921 RESTORE INTERRUPT ZUC01820
0046 DC00 0008 185 | STD L 8 *BRANCH ADDRESSES ZUC01830
0048 7016 186 | MDX ZA000 BR TO READ CARDS ZUC01840
187 | * ZUC01850
188 | * CONSTANTS ZUC01860
189 | * ZUC01870
0049 1003 190 | ZC910 DC /1003 SCTR ADDR OF 1442 ROUTINE ZUC01880
004A 0003 191 | ZC911 DC 3 DECIMAL THREE ZUC01890
004B 7001 192 | ZC912 DC /7001 WRITE FUNCTION CODE ZUC01900
004C 193 | BSS E 0 MAKE ADDRESS EVEN ZUC01910
004C 0004 194 | ZC913 DC 4 WORD COUNT-DEF CYL TBL ZUC01920
004D 1000 195 | DC /1000 SCTR ZERO ADDR LOGICAL 1 ZUC01930
004E 0140 196 | ZC914 DC 320 1 SECTOR WORD COUNT ZUC01940
004F 0002 197 | ZC915 DC /0002 SCTR ADDR OF RESIDENT-LOG 0 ZUC01950
0050 1002 198 | DC /1002 SCTR ADDR OF RESIDENT-LOG 1 ZUC01960
0051 08CER 199 | ZC916 DC ZB000-2 ADDR OF WORD COUNT ZUC01970
0052 0000 200 | ZC920 DC *-* TEMP FOR IBT POINTER ZUC01980
0054 201 | BSS E 0 MAKE ADDR EVEN ZUC01990
0054 0000 202 | ZC921 DC *-* TEMPORARY FOR ZUC02000
0055 0000 203 | DC *-* *INTERRUPT BR ADDRESSES ZUC02010
204 | * ZUC02020
205 | * CALL DISK ROUTINE AND WAIT FOR ZUC02030
206 | * COMPLETION. ZUC02040
207 | * ZUC02050
0056 0000 208 | ZC100 DC *-* RETURN ADDRESS ZUC02060
0057 4400 00F2 209 | BSI L DZ000 BR TO DISK ROUTINE ZUC02070
0059 C400 00EE 210 | LD L $DBSY DISK BUSY INDR ZUC02080
005B 4820 211 | BSC Z SKIP NEXT IF DONE ZUC02090
005C 70FC 212 | MDX *-4 ZUC02100
005D 4C80 0056R 213 | BSC I ZC100 EXIT ZUC02110
CARD IMAGE TO DISK ROUTINE
215 | * ZUC02130
216 | * INITIALIZE ZUC02140
217 | * ZUC02150
005F 62E0 218 | ZA000 LDX 2 -32 CARD READ COUNTER ZUC02160
0060 6500 009DR 219 | LDX L1 ZA990 BUFFER WORD COUNT ADDRESS ZUC02170
220 | * ZUC02180
221 | * READ 32 CARDS INTO BUFFER ZUC02190
222 | * ZUC02200
0062 6906 223 | ZA010 STX 1 ZA020 SET UP BUFFER ADDR FOR CALL ZUC02210
0063 C100 224 | LD 1 0 COLUMN 80 PREVIOUS CARD ZUC02220
0064 D033 225 | STO ZA920 SAVE COLUMN 80 ZUC02230
0065 C030 226 | LD ZA911 WORD COUNT (80) ZUC02240
0066 D100 227 | STO 1 0 SET UP WD CNT FOR CARD READ ZUC02250
0067 0305*9131 228 | LIBF CARD1 READ A CARD ZUC02260
0068 1000 229 | DC /1000 FUNCTION CODE ZUC02270
0069 0000 230 | ZA020 DC *-* ADDR OF BUFFER WD COUNT ZUC02280
006A 0090R 231 | DC ZA200 ERROR SUBROUTINE ADDRESS ZUC02290
232 | * ZUC02300
233 | * CHECK FOR READER BUSY ZUC02310
234 | * ZUC02320
006B 0305*9131 235 | ZA030 LIBF CARD1 ZUC02330
006C 0000 236 | DC 0 TEST FUNCTION CODE ZUC02340
006D 70FD 237 | MDX *-3 LOOP ON BUSY ZUC02350
238 | * ZUC02360
239 | * CHECK FOR LAST CARD READ ZUC02370
240 | * ZUC02380
006E C02A 241 | LD ZA921 LAST CARD INDICATOR ZUC02390
006F 4C18 0075R 242 | BSC L ZA040,+- BR IF NOT LAST CARD ZUC02400
0071 C150 243 | LD 1 80 LAST COLUMN - LAST CARD ZUC02410
0072 E822 244 | OR ZA910 BIT 15 ZUC02420
0073 D150 245 | STO 1 80 ZUC02430
0074 62FF 246 | LDX 2 -1 SET XR2 TO TERMINATE READ ZUC02440
247 | * ZUC02450
248 | * TEST FOR 32 CARDS READ IN ZUC02460
249 | * ZUC02470
0075 C022 250 | ZA040 LD ZA920 LAST CARD - COLUMN 80 ZUC02480
0076 D100 251 | STO 1 0 RESTORE ZUC02490
0077 7150 252 | MDX 1 80 INCR BUFFER POINTER ZUC02500
0078 7201 253 | MDX 2 1 INCR READ COUNTER ZUC02510
0079 70E8 254 | MDX ZA010 BR TO READ ANOTHER CARD ZUC02520
255 | * ZUC02530
256 | * DUMP TO DISK ZUC02540
257 | * ZUC02550
007A C81F 258 | LDD ZA900 DISK WRITE IOCC ZUC02560
007B 4400 00F2 259 | BSI L DZ000 WRITE ONE CYLINDER ZUC02570
260 | * ZUC02580
261 | * CHECK FOR WRITE COMPLETE ZUC02590
262 | * ZUC02600
007D C400 00EE 263 | LD L $DBSY DISK BUSY INDR ZUC02610
007F 4820 264 | BSC Z SKIP IF WRITE COMPLETE ZUC02620
0080 70FC 265 | MDX *-4 LOOP ON BUSY ZUC02630
266 | * ZUC02640
267 | * TEST FOR LAST CARD FOUND OR ZUC02650
268 | * *DISK CARTRIDGE FILLED. ZUC02660
269 | * ZUC02670
0081 7408 009DR 270 | MDX L ZA990,8 INCR DISK ADDR TO NEXT CYL ZUC02680
0083 7400 0099R 271 | MDX L ZA921,0 SKIP NEXT IF NOT LAST CARD ZUC02690
0085 7006 272 | MDX ZA100 BR TO FEED OUT LAST CARD ZUC02700
0086 C016 273 | LD ZA990 CURRENT DISK ADDRESS ZUC02710
0087 900F 274 | S ZA913 END CONSTANT (1640) ZUC02720
0088 4C20 005FR 275 | BSC L ZA000,Z BR TO READ MORE CARDS ZUC02730
276 | * ZUC02740
277 | * EXIT ZUC02750
278 | * ZUC02760
008A 4C00 0038 279 | ZA050 BSC L $EXIT EXIT TO SUPERVISOR ZUC02770
280 | * ZUC02780
281 | * FEED OUT LAST CARD ZUC02790
282 | * ZUC02800
008C 0305*9131 283 | ZA100 LIBF CARD1 FEED A CARD ZUC02810
008D 3000 284 | DC /3000 FUNCTION CODE ZUC02820
008E 0090R 285 | DC ZA200 ERROR SUBROUTINE ADDRESS ZUC02830
008F 70FA 286 | MDX ZA050 BR TO END ZUC02840
287 | * ZUC02850
288 | * CARD ERROR SUBROUTINE ZUC02860
289 | * ZUC02870
0090 0000 290 | ZA200 DC *-* ENTRY POINT ZUC02880
0091 4818 291 | BSC +- SKIP IF READ OR FEED CHECK ZUC02890
0092 6806 292 | STX ZA921 SET LAST CARD INDICATOR ZUC02900
0093 4C80 0090R 293 | BSC I ZA200 EXIT ZUC02910
294 | * ZUC02920
295 | * CONSTANTS AND WORK AREA ZUC02930
296 | * ZUC02940
0095 0001 297 | ZA910 DC 1 DECIMAL ONE CONSTANT ZUC02950
0096 0050 298 | ZA911 DC 80 CARD WORD COUNT ZUC02960
0097 1640 299 | ZA913 DC /1640 DISK END CONSTANT ZUC02970
0098 0000 300 | ZA920 DC *-* COLUMN 80 TEMPORARY ZUC02980
0099 0000 301 | ZA921 DC *-* LAST CARD INDICATOR ZUC02990
302 | * ZUC03000
303 | * DISK WRITE IOCC ZUC03010
304 | * ZUC03020
009A 305 | BSS E 0 MAKE ADDR EVEN ZUC03030
009A 7001 306 | ZA900 DC /7001 WRITE FUNCTION CODE ZUC03040
009B 009CR 307 | DC ZA990-1 ADDR OF DISK WD COUNT ZUC03050
308 | * ZUC03060
309 | * CARD TO DISK BUFFER - 1 CYLINDER LONG ZUC03070
310 | * ZUC03080
009C 0A00 311 | DC 2560 WORD COUNT ZUC03090
009D 1008 312 | ZA990 DC /1008 SCTR ADDRESS ZUC03100
009E 313 | BSS 2560 RESERVE 2560 WORDS ZUC03110
08CE 314 | ORG *-/1D0 ZUC03120
DISK- CD DUMP AND SPECIAL COLD START Z
316 | * ZUC03140
317 | * DISK TO CARD DUMP ROUTINE - THIS ZUC03150
318 | * *ROUTINE IS STORED IN SCTR 4 OF THE ZUC03160
319 | * *SPECIAL DUMP CARTRIDGE. WHEN A COLD ZUC03170
320 | * *START IS PERFORMED, THIS PROGRAM IS ZUC03180
321 | * *READ INTO CORE AND EXECUTED CAUSING ZUC03190
322 | * *AN INITIAL SYSTEM LOAD DECK TO BE ZUC03200
323 | * *PUNCHED. ZUC03210
324 | * ZUC03220
325 | * ZUC03230
326 | * SET UP COLUMN INTERRUPT AND ADDR OF ZUC03240
327 | * LEVEL 4 INTERRUPT BRANCH TABLE ZUC03250
328 | * ZUC03260
08CE 0054 329 | DC ZB500-ZB000 WORD COUNT ZUC03270
08CF 1004 330 | DC /1004 SECTOR ADDRESS ZUC03280
08D0 C048 331 | ZB000 LD ZB903 ZUC03290
08D1 D400 00D4 332 | STO L $IBT4 ADDR OF IBT ZUC03300
08D3 C044 333 | LD ZB902 ZUC03310
08D4 D400 0008 334 | STO L 8 COLUMN INTERRUPT ENTRY PT ZUC03320
335 | * ZUC03330
336 | * PUNCH FIRST CARD AS BLANK ZUC03340
337 | * ZUC03350
08D6 1010 338 | SLA 16 CLEAR ACCUMULATOR ZUC03360
08D7 61B0 339 | LDX 1 -80 XR1= CLEAR BUFFER COUNTER ZUC03370
08D8 D500 0434 340 | ZB002 STO L1 ZB990-ZB000+A+81 CLEAR 1ST CD BUFFER ZUC03380
08DA 7101 341 | MDX 1 1 INCR CLEAR COUNTER ZUC03390
08DB 70FC 342 | MDX ZB002 BR TO CONTINUE CLEARING ZUC03400
08DC 62FF 343 | LDX 2 -1 SET TO PUNCH ONE CARD ONLY ZUC03410
08DD 7008 344 | MDX ZB009 BR TO PUNCH ONE CARD ZUC03420
345 | * ZUC03430
346 | * READ A CYLINDER FROM DISK ZUC03440
347 | * ZUC03450
08DE C83B 348 | ZB005 LDD ZB905 FUNC CODE AND WD CNT ADDR ZUC03460
08DF 4400 00F2 349 | BSI L DZ000 BR TO READ FROM DISK ZUC03470
08E1 C400 00EE 350 | LD L $DBSY ZUC03480
08E3 4820 351 | BSC Z ZUC03490
08E4 70FC 352 | MDX *-4 ZUC03500
353 | * ZUC03510
354 | * PUNCH 32 CARDS ZUC03520
355 | * ZUC03530
08E5 62E0 356 | LDX 2 -32 CARD PUNCH COUNTER ZUC03540
08E6 6500 03E3 357 | ZB009 LDX L1 ZB990-ZB000+A BUFFER WD CNT ADDRESS ZUC03550
08E8 6934 358 | ZB010 STX 1 ZB906+1 ZUC03560
08E9 C035 359 | LD ZB911 PUNCH STOP BIT ZUC03570
08EA E950 360 | OR 1 80 ZUC03580
08EB D150 361 | STO 1 80 PUNCH ALL 80 COLUMNS ZUC03590
08EC C82F 362 | LDD ZB906 FUNC CODE AND WD COUNT ZUC03600
08ED 4400 0251 363 | BSI L ZBADR+1 BR TO PUNCH A CARD ZUC03610
364 | * ZUC03620
365 | * TEST FOR LAST CARD PUNCHED ZUC03630
366 | * ZUC03640
08EF C150 367 | LD 1 80 COLUMN 80 ZUC03650
08F0 4804 368 | BSC E SKIP NEXT IF NOT LAST CARD ZUC03660
08F1 7019 369 | MDX ZB200 BR IF LAST CARD ZUC03670
370 | * ZUC03680
371 | * TEST FOR PUNCH COMPLETE ZUC03690
372 | * ZUC03700
08F2 C400 0013 373 | ZB020 LD L $IBSY I/O BUSY INDICATOR ZUC03710
08F4 4820 374 | BSC Z SKIP IF DONE ZUC03720
08F5 70FC 375 | MDX *-4 LOOP ON BUSY ZUC03730
376 | * ZUC03740
377 | * CHK FOR LAST CARD IN FEED PATH ZUC03750
378 | * ZUC03760
08F6 C400 0033 379 | LD L $LAST LAST CARD INDICATOR ZUC03770
08F8 4C18 03BD 380 | BSC L ZB030-ZB000+A,+- BR NOT LAST CARD ZUC03780
08FA C023 381 | LD ZB907 FEED FUNC CODE ZUC03790
08FB 4400 0251 382 | BSI L ZBADR+1 BR TO FEED A CARD ZUC03800
383 | * ZUC03810
384 | * TEST FOR 32 CARDS PUNCHED ZUC03820
385 | * ZUC03830
08FD 7150 386 | ZB030 MDX 1 80 INCR BUFFER POINTER ZUC03840
08FE 7201 387 | MDX 2 1 INCR PUNCH COUNTER ZUC03850
08FF 70E8 388 | MDX ZB010 BR TO PUNCH ANOTHER CARD ZUC03860
389 | * ZUC03870
390 | * TEST FOR LAST CARD FOUND OR LAST ZUC03880
391 | * *DISK CYLINDER READ. ZUC03890
392 | * ZUC03900
0900 7408 03E3 393 | MDX L ZB990-ZB000+A,8 INCR DISK ADDRESS ZUC03910
0902 C01E 394 | LD ZB922 LAST CARD INDICATOR ZUC03920
0903 4820 395 | BSC Z SKIP NEXT IF NOT LAST CARD ZUC03930
0904 7004 396 | MDX ZB100 BR TO END ZUC03940
0905 C01D 397 | LD ZB990 CURRENT DISK ADDR ZUC03950
0906 9019 398 | S ZB914 END CONSTANT (/0640) ZUC03960
0907 4C20 039E 399 | BSC L ZB005-ZB000+A,Z BR TO READ NEXT CYL ZUC03970
0909 3000 400 | ZB100 WAIT FINISHED ZUC03980
090A 70FE 401 | MDX ZB100 HARD WAIT ZUC03990
402 | * ZUC04000
403 | * SET LAST CARD INDICATOR ZUC04010
404 | * ZUC04020
090B 6815 405 | ZB200 STX ZB922 SET LAST CARD INDICATOR ZUC04030
090C 62FF 406 | LDX 2 -1 SET XR2 TO TERMINATE PUNCH ZUC04040
090D 70E4 407 | MDX ZB020 BR TO TEST FOR PUNCH DONE ZUC04050
408 | * ZUC04060
409 | * INTERRUPT BRANCH TABLE ZUC04070
410 | * ZUC04080
090E 008D 411 | ZB900 DC $PST4 ZUC04090
090F 008D 412 | DC $PST4 RESERVED ZUC04100
0910 008D 413 | DC $PST4 RESERVED ZUC04110
0911 008D 414 | DC $PST4 RESERVED ZUC04120
0912 0254 415 | DC ZBADR+4 1231 ZUC04130
0913 0254 416 | DC ZBADR+4 1403 ZUC04140
0914 0254 417 | DC ZBADR+4 2501 ZUC04150
0915 0254 418 | DC ZBADR+4 1442 ZUC04160
0916 0254 419 | DC ZBADR+4 KB/CP ZUC04170
0917 0254 420 | DC ZBADR+4 1134/1055 ZUC04180
0918 0257 421 | ZB902 DC ZBADR+7 COLUMN INTERRUPT ENTRY ZUC04190
0919 03CE 422 | ZB903 DC ZB900-ZB000+A ADDR OF IBT ZUC04200
423 | * ZUC04210
424 | * DISK READ FUNC CODE AND WORD CNT ADDR ZUC04220
425 | * ZUC04230
091A 426 | BSS E 0 ZUC04240
091A 7000 427 | ZB905 DC /7000 READ FUNCTION CODE ZUC04250
091B 03E2 428 | DC ZB990-1-ZB000+A BUFFER WD CNT ADDR ZUC04260
429 | * ZUC04270
430 | * PUNCH FUNCTION CODE AND WORD CNT ADDR ZUC04280
431 | * ZUC04290
091C 7001 432 | ZB906 DC /7001 PUNCH FUNC CODE ZUC04300
091D 0000 433 | DC *-* ADDR OF BUFFER WORD COUNT ZUC04310
091E 7003 434 | ZB907 DC /7003 FEED FUNC CODE ZUC04320
435 | * ZUC04330
436 | * CONSTANTS AND WORK AREA ZUC04340
437 | * ZUC04350
091F 0008 438 | ZB911 DC /8 PUNCH STOP BIT ZUC04360
0920 0640 439 | ZB914 DC /0640 END CONSTANT - DISK ZUC04370
0921 0000 440 | ZB922 DC *-* LAST CARD INDICATOR ZUC04380
441 | * ZUC04390
442 | * DISK TO CARD BUFFER - 1 CYLINDER LONG ZUC04400
443 | * ZUC04410
0922 444 | BSS E 0 ZUC04420
0922 0A00 445 | DC 2560 WORD COUNT ZUC04430
0923 0000 446 | ZB990 DC 0 SECTOR ADDRESS ZUC04440
0924R 447 | ZB500 EQU * ZUC04450
448 | * ZUC04460
449 | * SPECIAL COLD START PROGRAM ZUC04470
450 | * ZUC04480
0924 617F 451 | ZB800 LDX 1 Y MAX POSITIVE DISPLACEMENT ZUC04490
0925 C828 452 | LDD ZB820 SET UP WORD COUNT AND SCTR ZUC04500
0926 DC00 0004 453 | ZB810 STD L $CIBA-1 *ADDR OF RESIDENT IMAGE ZUC04510
0928 D125 454 | STO 1 $DCYL-Y INITIALIZE DEF CYL NO. 1 ZUC04520
0929 C184 455 | LD 1 3-Y FETCH LOG DRIVE 0 AREA CODE ZUC04530
092A D120 456 | STO 1 $ACDE-Y *AND STORE IT IN COMMA ZUC04540
092B D023 457 | STO ZB820+1 SAVE THE AREA CODE ZUC04550
092C C953 458 | LDD 1 /D2-Y SAVE DEFECTIVE CYLINDER ZUC04560
092D D824 459 | STD ZB820+4 *ADDRESSES AND CARTRIDGE ZUC04570
092E C955 460 | LDD 1 /D4-Y *LABEL. ZUC04580
092F D824 461 | STD ZB820+6 ZUC04590
0930 C0F6 462 | LD ZB810+1 FETCH CORE ADDR OF RESIDENT ZUC04600
0931 1890 463 | SRT 16 *IMAGE AND PUT IN EXTENSION ZUC04610
0932 D16F 464 | STO 1 $DBSY-Y CLEAR DISK BUSY INDICATOR ZUC04620
0933 D11B 465 | STO 1 $CYLN-Y INITIALIZE ARM POSITION ZUC04630
0934 4173 466 | BSI 1 DZ000-Y FETCH RESIDENT IMAGE ZUC04640
0935 3000 467 | WAIT WAIT OUT THE INTERRUPT ZUC04650
0936 C819 468 | LDD ZB820+2 SET UP WORD COUNT AND SCTR ZUC04660
0937 DC00 024E 469 | ZB815 STD L ZBADR-2 *ADDR OF DISK DUMP PROGRAM ZUC04670
0939 C015 470 | LD ZB820+1 ZUC04680
093A D120 471 | STO 1 $ACDE-Y RESET AREA CODE ZUC04690
472 | * ZUC04700
473 | * SET UP TO READ DUMP PROGRAM INTO CORE ZUC04710
474 | * ZUC04720
093B C0FC 475 | LD ZB815+1 FETCH CORE ADDR OF DUMP AND ZUC04730
093C 1890 476 | SRT 16 *SHIFT INTO EXTENSION ZUC04740
093D D1B3 477 | STO 1 $IOCT-Y CLEAR IOCS COUNTER ZUC04750
093E 4173 478 | BSI 1 DZ000-Y FETCH DISK DUMP PROGRAM ZUC04760
093F C16F 479 | LD 1 $DBSY-Y DISK BUSY INDICATOR ZUC04770
0940 4C18 0390 480 | BSC L ZBADR+320,+- BR IF READ COMPLETE ZUC04780
0942 70FC 481 | MDX *-4 LOOP ON DISK BUSY ZUC04790
0943 482 | BSS 11 PATCH AREA ZUC04800
094E 00E8 483 | ZB820 DC $DBSY-$CH12 WD CNT AND SCTR ADDRESS ZUC04810
094F 0002 484 | DC @RIAD *OF RESIDENT IMAGE ZUC04820
0950 0194 485 | DC ZB500-ZB000+320 WD CNT AND SCTR ADR ZUC04830
0951 0003 486 | DC /0003 *OF DISK DUMP PROGRAM ZUC04840
0952 487 | BSS 3 DEFECTIVE CYLINDER ADDR TBL ZUC04850
0955 488 | BSS 1 CARTRIDGE LABEL ZUC04860
0956R 489 | ZB830 EQU * ZUC04870
490 | * ZUC04880
491 | * ZUC04890
0956 492 | BSS 50 PATCH AREA ZUC04900
493 | * ZUC04910
494 | * ZUC04920
0988 495 | END ZC000 UCART ENTRY POINT ZUC04930
There were no errors in this assembly
Program transfer address = 0000
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$ACDE 009F 80 456 471
$CH12 0006 73 483
$CIBA 0005 72 453
$CYLN 009A 79 465
$DBSY 00EE 84 210 263 350 464 479 483
$DCYL 00A4 81 454
$EXIT 0038 77 279
$I405 00D3 82 83
$IBSY 0013 74 373
$IBT4 00D4 83 97 183 332
$IOCT 0032 75 477
$LAST 0033 76 379
$PST4 008D 78 411 412 413 414
$ZEND 01E0 86
'RIAD 0002 87 484
A 0390 92 340 357 380 393 399 422 428
DZ000 00F2 85 209 259 349 466 478
Y 007F 93 451 454 455 456 458 460 464 465 466 471 477 478
479
ZA000 005FR 218 186 275
ZA010 0062R 223 254
ZA020 0069R 230 223
ZA030 006BR 235
ZA040 0075R 250 242
ZA050 008AR 279 286
ZA100 008CR 283 272
ZA200 0090R 290 231 285 293
ZA900 009AR 306 258
ZA910 0095R 297 244
ZA911 0096R 298 226
ZA913 0097R 299 274
ZA920 0098R 300 225 250
ZA921 0099R 301 241 271 292
ZA990 009DR 312 219 270 273 307
ZB000 08D0R 331 199 329 340 357 380 393 399 422 428 485
ZB002 08D8R 340 342
ZB005 08DER 348 399
ZB009 08E6R 357 344
ZB010 08E8R 358 388
ZB020 08F2R 373 407
ZB030 08FDR 386 380
ZB100 0909R 400 396 401
ZB200 090BR 405 369
ZB500 0924R 447 329 485
ZB800 0924R 451 146
ZB810 0926R 453 462
ZB815 0937R 469 475
ZB820 094ER 483 452 457 459 461 468 470
ZB830 0956R 489 146 147
ZB900 090ER 411 422
ZB902 0918R 421 333
ZB903 0919R 422 331
ZB905 091AR 427 348
ZB906 091CR 432 358 362
ZB907 091ER 434 381
ZB911 091FR 438 359
ZB914 0920R 439 398
ZB922 0921R 440 394 405
ZB990 0923R 446 340 357 393 397 428
ZBADR 0250 91 92 363 382 415 416 417 418 419 420 421 469 480
ZC000 0000R 97 495
ZC010 000DR 106 120 129 156 166 171
ZC050 0029R 148 141 142 145 150
ZC100 0056R 208 114 123 135 159 168 174 181 213
ZC910 0049R 190 111
ZC911 004AR 191 104 139
ZC912 004BR 192 113 158 173 180
ZC913 004CR 194 127
ZC914 004ER 196 118 143 154
ZC915 004FR 197 144 164 169
ZC916 0051R 199 178
ZC920 0052R 200 98 182
ZC921 0054R 202 100 184