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