ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:11 2020
Source File: \zcldstrt.asm
1130 MONITOR SYSTEM COLD START CARD.
2 | *************************************************** ZCS00020
3 | * STATUS - VERSION 2, MODIFICATION LEVEL 12 * ZCS00030
4 | * * ZCS00040
5 | *FUNCTION/OPERATION - * ZCS00050
6 | * THIS PROGRAM IS USED BY THE 1130 MONITOR * ZCS00060
7 | * SYSTEM TO - * ZCS00070
8 | * * DETERMINE THE PHYSICAL DRIVE NUMBER OF * ZCS00080
9 | * LOGICAL DRIVE ZERO. * ZCS00090
10 | * * READ IN THE COLD START PROGRAM FROM THE * ZCS00100
11 | * DISK AND THEN TRANSFER TO IT. * ZCS00110
12 | * * ZCS00120
13 | *ENTRY POINT - CS000 * ZCS00130
14 | * THE PROGRAM IS ENTERED BY PRESSING THE PROGRAM* ZCS00140
15 | * LOAD KEY. * ZCS00150
16 | * * ZCS00160
17 | *INPUT - * ZCS00170
18 | * THE PHYSICAL DRIVE NUMBER OF LOGICAL DRIVE * ZCS00180
19 | * ZERO IS ENTERED THROUGH THE CONSOLE ENTRY * ZCS00190
20 | * SWITCHES. * ZCS00200
21 | * * ZCS00210
22 | *OUTPUT - * ZCS00220
23 | * THE COLD START PROGRAM IS READ IN FROM THE * ZCS00230
24 | * DISK. * ZCS00240
25 | * * ZCS00250
26 | *EXTERNAL REFERENCES - N/A * ZCS00260
27 | * * ZCS00270
28 | *EXITS - * ZCS00280
29 | * NORMAL - * ZCS00290
30 | * A BRANCH IS MADE TO THE FIRST WORD OF THE * ZCS00300
31 | * COLD START PROGRAM AFTER READING IT FROM * ZCS00310
32 | * THE DISK. * ZCS00320
33 | * ERROR - N/A * ZCS00330
34 | * * ZCS00340
35 | *TABLES/WORK AREAS - N/A * ZCS00350
36 | * * ZCS00360
37 | *ATTRIBUTES - N/A * ZCS00370
38 | * * ZCS00380
39 | *NOTES - * ZCS00390
40 | * * THIS PROGRAM COMES TO A WAIT AT CS110 IF * ZCS00400
41 | * EITHER THE DRIVE NUMBER ENTERED IN THE * ZCS00410
42 | * CONSOLE ENTRY SWITCHES IS INVALID, OR THE * ZCS00420
43 | * SPECIFIED DRIVE IS NOT YET READY. * ZCS00430
44 | * * THE PROGRAM WILL COME TO A WAIT AT CS150 IF * ZCS00440
45 | * A DISK ERROR OCCURS WHILE READING IN THE * ZCS00450
46 | * COLD START PROGRAM. THE USER CAN RETRY THE * ZCS00460
47 | * OPERATION BY PRESSING THE START KEY. * ZCS00470
48 | * * ZCS00480
49 | *************************************************** ZCS00490
50 | ABS ZCS00500
0000 51 | ORG 0 ZCS00510
52 | * ZCS00520
53 | * SET UP THE SECOND WORD OF THE BIT SWITCH IOCC. ZCS00530
54 | * ZCS00540
0000 C80A 55 | CS000 LDD CS030 ACC = /E800, EXT = /E800 ZCS00550
0001 18C2 56 | RTE 2 ACC = /3A00, EXT = /3A00 ZCS00560
0002 D008 57 | STO CS030 STORE IN BIT SWITCH IOCC. ZCS00570
0003 C019 58 | CS009 LD CS038 BUILD AREA CODE 2-11 ZCS00575
0004 8007 59 | A CS035 *FOR PHY DR 10 2-11 ZCS00580
0005 D017 60 | STO CS038 SAVE IN DR CODE TABLE 2-11 ZCS00585
0006 C033 61 | CS190 LD CS130 BUILD 1ST WORD OF 2-11 ZCS00590
0007 100A 62 | SLA 10 * STO L ***** INSTR 2-11 ZCS00595
0008 D031 63 | STO CS130 *AND PUT IN PLACE 2-11 ZCS00600
0009 7015 64 | CS010 MDX CS120 BR TO CONTINUE 2-11 ZCS00605
65 | * * ZCS00610
66 | * INITIALLY THE FOLLOWING TWO WORDS ARE THE IOCC * ZCS00615
67 | * FOR READING THE BIT SWITCHES. * ZCS00620
68 | * * ZCS00625
000A 000C 69 | CS020 DC CS035 HARDWARE INTRPT ENTRY 2-11 ZCS00630
70 | * * ZCS00635
71 | * THE FOLLOWING TWO WORDS WILL EVENTUALLY BE A * ZCS00640
72 | * BOSC L *-* INSTRUCTION * ZCS00645
73 | * * ZCS00650
000B E800 74 | CS030 DC /E800 2-11 ZCS00655
75 | * ZCS00660
000C 0020 76 | CS035 DC /0020 CONSTANT OF /0020 2-11 ZCS00665
77 | * ZCS00670
000D 08F8 78 | XIO CS190 SENSE DR W/RESET 2-11 ZCS00675
000E 4828 79 | BSC Z+ SKIP IF NO ERROR 2-11 ZCS00680
000F 7035 80 | MDX CS150 BR TO DISK ERROR WAIT 2-11 ZCS00685
0010 70FA 81 | MDX CS030 RETRN TO MAINLINE LEVL 2-11 ZCS00690
82 | * * ZCS00700
0011 4814 83 | CS180 DC /4814 USED TO BLD SEEK IOCC 2-11 ZCS00705
84 | * * ZCS00710
85 | * CS050 MUST BE ON EVEN ADDR. AND MUST IMMEDIATELY* ZCS00715
86 | * PRECEDE CS040. * ZCS00720
87 | * * ZCS00725
0012 F026 88 | CS050 DC /F026 USED TO BLD LONG INSTR 2-11 ZCS00730
0013 2000 89 | CS040 DC @AC00 AREA CODE--PHY DR 0 2-11 ZCS00735
0014 8800 90 | DC @AC01 AREA CODE--PHY DR 1 2-11 ZCS00740
0015 9000 91 | DC @AC02 AREA CODE--PHY DR 2 2-11 ZCS00745
0016 9800 92 | DC @AC03 AREA CODE--PHY DR 3 2-11 ZCS00750
0017 A000 93 | DC @AC04 AREA CODE--PHY DR 4 2-11 ZCS00755
0018 B000 94 | DC @AC05 AREA CODE--PHY DR 5 2-11 ZCS00760
0019 B800 95 | DC @AC06 AREA CODE--PHY DR 6 2-11 ZCS00765
001A B810 96 | DC @AC07 AREA CODE--PHY DR 7 2-11 ZCS00770
001B B820 97 | DC @AC08 AREA CODE--PHY DR 8 2-11 ZCS00775
001C B830 98 | DC @AC09 AREA CODE--PHY DR 9 2-11 ZCS00780
001D B820 99 | CS038 DC @AC10 AREA CODE--PHY DR 10 2-11 ZCS00785
100 | * ZCS00790
001E 3000 101 | CS110 WAIT INVAL DR NO OR DK NOT READY ZCS00830
001F 08EA 102 | CS120 XIO CS020 GET DR NO FROM BIT SWITCHES ZCS00840
0020 C0EB 103 | LD CS035 LOAD DRIVE NUMBER 2-11 ZCS00850
0021 4828 104 | BSC Z+ SKIP IF NOT NEGATIVE ZCS00860
0022 70FB 105 | MDX CS110 BR TO INVLD DR WAIT 2-11 ZCS00870
0023 9027 106 | S CS171 SUB DECIMAL 10 2-11 ZCS00880
0024 4830 107 | BSC Z- SKIP IF LEGAL DRIVE NUMBER ZCS00890
0025 70F8 108 | MDX CS120-1 BR TO INVALID DRIVE WAIT ZCS00900
109 | * * ZCS00905
110 | * CS060 MUST BE ON AN EVEN ADDRESS. CS060 AND * ZCS00910
111 | * CS070 WILL BE THE SEEK IOCC. THE SEEK COUNT * ZCS00915
112 | * IS 1. * ZCS00920
0026 8001 113 | CS060 A CS121 SET UP TO 2-11 ZCS00925
0027 D000 114 | CS070 STO CS121 *FETCH AREA CODE 2-11 ZCS00930
0028 C0F4 115 | CS121 LD CS038 * FOR SELECTED DRIVE 2-11 ZCS00935
0029 D0D9 116 | STO CS009 SAVE AREA CODE 2-11 ZCS00940
117 | * ZCS00970
118 | * SET UP THE SENSE DEVICE IOCC. ZCS00980
119 | * ZCS00990
002A C01D 120 | LD CS160 ACC = /7010 2-11 ZCS01000
002B 1804 121 | SRA 4 ACC = /0701 2-11 ZCS01010
002C E8D6 122 | OR CS009 OR IN AREA CODE 2-11 ZCS01020
002D D0D9 123 | STO CS190+1 STORE IN SENSE IOCC. ZCS01030
124 | * ZCS01040
125 | * 4 INSTRUCTIONS MOVED AND MODIFIED 2-12 ZCS01050
126 | * ZCS01150
127 | * SET UP LONG BRANCH INSTRUCTIONS. ZCS01160
128 | * ZCS01170
002E C8E3 129 | LDD CS050 ACC = /F026,EXT =/2000 2-11 ZCS01180
002F 18D3 130 | RTE 19 ACC = /C400,EXT =/1E04 2-11 ZCS01185
0030 D017 131 | STO CS160 ST IN 1ST WD OF LD L **2-11 ZCS01190
0031 18C4 132 | RTE 4 ACC = /4C18,EXT =/01E0 2-11 ZCS01195
0032 D0D8 133 | STO CS030 ST IN 1ST WD OF BOSC L 2-11 ZCS01200
0033 9016 134 | S CS170 ACC = /4C18, EXT = /01E0 ZCS01210
0034 D815 135 | STD CS170 ST IN BSC L *****,+- INST ZCS01220
136 | * ZCS01230
137 | * SET UP SECOND WORD OF SEEK IOCC. ZCS01240
138 | * ZCS01250
0035 90DB 139 | S CS180 ACC = /0404, EXT = /01E0 ZCS01260
0036 E8CC 140 | OR CS009 OR IN AREA CODE 2-11 ZCS01270
0037 D0EF 141 | STO CS070 STORE IN SEEK IOCC. ZCS01300
142 | * ZCS01390
143 | * SET UP WORD COUNT FOR DISK READ OPERATION, AND ZCS01400
144 | * STORE IT WHERE THE COLD START PROGRAM WILL BE ZCS01410
145 | * READ INTO CORE. ZCS01420
146 | * ZCS01430
0038 C016 147 | LD CS210 ACC = /A0C0, EXT = /01E0 ZCS01440
0039 1807 148 | SRA 7 ACC = /0141, EXT = /01E0 ZCS01450
149 | * ZCS01460
150 | * AT THIS POINT IN EXECUTION, THE FOLLOWING TWO ZCS01470
151 | * WORD ARE A ...STO L CLDST... INSTRUCTION. ZCS01480
152 | * ZCS01490
003A 0035 153 | CS130 DC /0035 STORE WORD COUNT 2-11 ZCS01500
003B 00D0 154 | DC CS220 *FOR DISK READ. ZCS01510
155 | * ZCS01520
156 | * SET UP SECOND WORD OF READ IOCC. ZCS01530
157 | * ZCS01540
003C C008 158 | LD CS150 ACC = /3000, EXT = /01E0 ZCS01550
003D 1803 159 | SRA 3 ACC = /0600 EXT = /01E0 ZCS01560
003E E8C4 160 | OR CS009 OR IN AREA CODE 2-11 ZCS01570
003F D00F 161 | STO CS210 STORE IN READ IOCC. ZCS01580
162 | * ZCS01590
163 | * SEEK ONE CYLINDER TOWARD HOME ZCS01600
164 | * ZCS01610
165 | * ZCS01620
166 | * ZCS01630
0040 080D 167 | CS140 XIO CS200 READ SECTOR 0 2-12 ZCS01640
168 | * 2-12 ZCS01641
169 | * IF DRIVE N IS ATTACHED & READY, THE ACC WILL 2-12 ZCS01642
170 | * HAVE BIT 3 ON. IF NOT ATTACHED AND READY, 2-12 ZCS01643
171 | * THE ACC WILL HAVE BIT 3 OFF. 2-12 ZCS01644
172 | * 2-12 ZCS01645
0041 08C4 173 | XIO CS190 SENSE DISK W/RESET 2-12 ZCS01646
0042 1003 174 | SLA 3 DISK BUSY BIT TO SIGN 2-12 ZCS01647
0043 4810 175 | BSC - SKIP IF DISK READY 2-12 ZCS01648
0044 70D9 176 | MDX CS110 BR TO INVALID DR WAIT 2-12 ZCS01649
0045 3000 177 | CS150 DC /3000 WAIT FOR INTERRUPT. ZCS01650
178 | * ZCS01660
0046 08DF 179 | XIO CS060 INITIATE THE SEEK 2-12 ZCS01670
0047 3000 180 | WAIT WAIT FOR INTERRUPT. ZCS01680
181 | * ZCS01690
182 | * AT THIS POINT IN EXECUTION, THE FOLLOWING TWO ZCS01700
183 | * WORDS ARE A ...LD L CLDST+1... INSTRUCTION. ZCS01710
184 | * ZCS01720
0048 7010 185 | CS160 DC /7010 LOAD SECTOR ADDRESS 2-11 ZCS01730
0049 00D1 186 | DC CS220+1 *OF SECTOR JUST READ. ZCS01740
187 | * ZCS01750
188 | * AT THIS POINT IN EXECUTION, THE FOLLOWING TWO ZCS01760
189 | * WORDS ARE A ...BSC L $ZEND,+-... INSTRUCTION. ZCS01770
190 | * ZCS01780
004A 0028 191 | CS170 DC /0028 BR TO THE COLD START PROG ZCS01790
004B 000A 192 | CS171 DC /000A *IF IT HAS BEEN READ 2-11 ZCS01800
004C 70F3 193 | MDX CS140 GO TRY SEEK AGAIN. ZCS01810
194 | * ZCS01820
004E 195 | BSS E 0 ASSURE EVEN BOUNDARY ZCS01860
004E 00D0 196 | CS200 DC CS220 READ ZCS01870
004F A0C0 197 | CS210 DC /A0C0 *IOCC. ZCS01880
198 | * ZCS01890
00D0 199 | CS220 EQU /00D0 COLD START PROG CORE ADDR. ZCS01900
200 | * ZCS01910
201 | * DISK DRIVE AREA CODES. DR 0 TO 10 ZCS01920
202 | * ZCS01930
2000 203 | @AC00 EQU /2000 2-11 ZCS01940
8800 204 | @AC01 EQU /8800 2-11 ZCS01950
9000 205 | @AC02 EQU /9000 2-11 ZCS01960
9800 206 | @AC03 EQU /9800 2-11 ZCS01970
A000 207 | @AC04 EQU /A000 2-11 ZCS01980
B000 208 | @AC05 EQU /B000 2-11 ZCS01990
B800 209 | @AC06 EQU /B800 2-11 ZCS02000
B810 210 | @AC07 EQU /B810 2-11 ZCS02010
B820 211 | @AC08 EQU /B820 2-11 ZCS02020
B830 212 | @AC09 EQU /B830 2-11 ZCS02030
B820 213 | @AC10 EQU /B820 2-11 ZCS02040
0050 214 | END CS000 ZCS02050
There were no errors in this assembly
Program transfer address = 0000
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
'AC00 2000 203 89
'AC01 8800 204 90
'AC02 9000 205 91
'AC03 9800 206 92
'AC04 A000 207 93
'AC05 B000 208 94
'AC06 B800 209 95
'AC07 B810 210 96
'AC08 B820 211 97
'AC09 B830 212 98
'AC10 B820 213 99
CS000 0000 55 214
CS009 0003 58 116 122 140 160
CS010 0009 64
CS020 000A 69 102
CS030 000B 74 55 57 81 133
CS035 000C 76 59 69 103
CS038 001D 99 58 60 115
CS040 0013 89
CS050 0012 88 129
CS060 0026 113 179
CS070 0027 114 141
CS110 001E 101 105 176
CS120 001F 102 64 108
CS121 0028 115 113 114
CS130 003A 153 61 63
CS140 0040 167 193
CS150 0045 177 80 158
CS160 0048 185 120 131
CS170 004A 191 134 135
CS171 004B 192 106
CS180 0011 83 139
CS190 0006 61 78 123 173
CS200 004E 196 167
CS210 004F 197 147 161
CS220 00D0 199 154 186 196