1
0
mirror of https://github.com/moshix/mvs.git synced 2026-01-11 23:43:00 +00:00
moshix.mvs/SOS_assembler_output.txt
2017-05-14 08:41:17 -05:00

3474 lines
361 KiB
Plaintext

1 High Level Assembler Option Summary (PTF UK37157) Page 1
- HLASM R6.0 2016/08/29 08.42
0 No Overriding ASMAOPT Parameters
Overriding Parameters- OBJECT,ESD,RXREF,RLD,XREF(SHORT,UNREFS),DXREF,LIST,TERM,ASA
No Process Statements
Options for this Assembly
0 NOADATA
ALIGN
3 ASA
BATCH
CODEPAGE(047C)
NOCOMPAT
NODBCS
NODECK
3 DXREF
3 ESD
NOEXIT
FLAG(0,ALIGN,CONT,EXLITW,NOIMPLEN,NOPAGE0,PUSH,RECORD,NOSUBSTR,USING0)
NOFOLD
NOGOFF
NOINFO
LANGUAGE(EN)
NOLIBMAC
LINECOUNT(60)
3 LIST(121)
MACHINE(,NOLIST)
MXREF(SOURCE)
3 OBJECT
OPTABLE(UNI,NOLIST)
NOPCONTROL
NOPESTOP
NOPROFILE
NORA2
NORENT
3 RLD
3 RXREF
SECTALGN(8)
SIZE(MAX)
NOSUPRWARN
SYSPARM()
3 TERM(WIDE)
NOTEST
THREAD
NOTRANSLATE
TYPECHECK(MAGNITUDE,REGISTER)
USING(NOLIMIT,MAP,WARN(15))
NOWORKFILE
3 XREF(SHORT,UNREFS)
Standard DD Names- SYSLIN SYSLIB SYSIN SYSPRINT SYSPUNCH SYSUT1 SYSTERM SYSADATA ASMAOPT
Overriding DD Names- SYS00013 SYS00005 SYS00011 SYS00012 SYS00010
1 External Symbol Dictionary Page 2
-Symbol Type Id Address Length Owner Id Flags Alias-of HLASM R6.0 2016/08/29 08.42
0PROGRAM SD 00000001 00000000 00001770 00
CARDLDR SD 00000002 00001770 000000A0 00
IPLCARD SD 00000003 00001810 00000050 00
1 Sample Operating System Version 2.00 Page 3
Active Usings: None
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 2 *********************************************************************** 00020000
3 * * 00030000
4 * ***************************************************************** * 00040000
5 * * * * 00050000
6 * * Sample Operating System * * 00060002
7 * * Version 2.00 * * 00067002
8 * * Developed at MIT 1973 * * 00074002
9 * * * * 00090000
10 * ***************************************************************** * 00100000
11 * * 00100602
12 * Update 2015/10/31 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00101202
13 * * 00101802
14 * - change storage protection alignments to 4K \ * 00102402
15 * - replace SSK/ISK instructions with SSKE/ISKE > 4K support * 00103002
16 * - minor changes in storage protection logic / * 00103602
17 * - change number of parallel processing streams to 4 * 00104202
18 * - change core size to 16M * 00104802
19 * - replace table of valid $JOB card core requests with general * 00105402
20 * logic rounding up any none full page request entered to next * 00106002
21 * full page * 00106602
22 * - add IPL card and two card loader for one stop creation of an * 00107202
23 * IPLable card deck * 00107802
24 * - ignore external interrupts during initialization to avoid * 00108402
25 * IPLRTN getting interrupted by the interval timer * 00109002
26 * * 00109103
27 * Update 2015/11/05 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109203
28 * * 00109303
29 * - allow reloading card readers without needing to re-IPL the * 00109403
30 * system. This functionality relies on Hercules' card reader * 00109503
31 * behavior with the EOF initialization in place. It will not * 00109603
32 * work in INTR mode. * 00109703
33 * * 00109744
34 * Update 2015/11/13 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109784
35 * * 00109824
36 * - add UCB to support a console at 009 using the EXCP device * 00109864
37 * handler. * 00109904
38 * * 00110000
39 *********************************************************************** 00120000
-
41 PRINT ON,NODATA,GEN 00140000
000000 00000 01770 42 PROGRAM CSECT , sample operating system starts at zero 00150002
001770 01770 000A0 43 CARDLDR CSECT , two card loader follows at the end 00150102
44 *** 00150202
45 *** IPL card 00150302
46 *** 00150402
001810 01810 00050 47 IPLCARD CSECT , IPLable deck must begin with this card 00150502
001810 0000000000 48 PSWD DC F'0',X'00' initial program status word, disabled 00150602
001815 001770 49 DC AL3(LOADER) start execution at load address 00150702
001818 02001770 50 CCW1 DC X'02',AL3(LOADER) read 1st card to load address 00150802
00181C 40000050 51 DC XL4'40000050' chain, read length = 80 00150902
001820 020017C0 52 CCW2 DC X'02',AL3(LOADER+80) read 2nd card to load addr + 80 00151002
001824 00000050 53 DC XL4'00000050' read length = 80 00151102
001828 E2819497938540D6 54 DC C'Sample Operating System Version 2.00' eye catcher 00151202
1 Sample Operating System Version 2.00 Page 4
Active Usings: None
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0001850 0000000000000000 55 DC 16X'00' pad to card length 00151302
56 *** 00151402
57 *** loader 00151502
58 *** 00151602
59 * 00151702
60 * Initialize 00151802
61 * 00151902
001770 01770 000A0 62 CARDLDR CSECT , two card loader must follow IPL card 00152002
001770 05C0 63 BALR R12,0 establish .. 00152102
001772 4120 0002 00002 64 LA R2,2 .. base .. 00152202
001776 1BC2 65 SR R12,R2 .. register 00152302
R:C 01770 66 USING CARDLDR,R12 tell assembler 00152402
001778 41B0 0000 00000 67 LA R11,0 addressability of .. 00152502
R:B 00000 68 USING PROGRAM,R11 .. sample operating system 00152602
00177C 4120 0000 00000 69 LA R2,0 I/O .. 00152702
001780 4130 C06A 017DA 70 LA R3,IOINTRPT .. new PSWD 00152802
001784 9023 B078 00078 71 STM R2,R3,IONEW store I/O new PSWD 00152902
001788 8000 C07E 017EE 72 SSM ENBLECH0 enable interrupts from channel 0 00153002
00178C 4150 C0A0 01810 73 LA R5,CCWCHAIN address of card reader CCW chain 00153102
001790 5050 B048 00048 74 ST R5,CAW store address in CAW 00153202
001794 5830 C094 01804 75 L R3,NUMCARDS number of cards to read 00153302
001798 5840 C090 01800 76 L R4,LOADADDR target address of loaded code 00153402
77 * 00153502
78 * create CCW chain 00153602
79 * 00153702
00179C 1824 80 NEXTCARD LR R2,R4 load next card here 00153802
00179E BF28 C080 017F0 81 ICM R2,B'1000',READ insert write command 00153902
0017A2 5020 5000 00000 82 ST R2,0(,R5) store CCW 00154002
0017A6 4120 0050 00050 83 LA R2,80 length of card 00154102
0017AA 5020 5004 00004 84 ST R2,4(,R5) store length in CCW, zero all flags 00154202
0017AE 9640 5004 00004 85 OI 4(R5),X'40' indicate command chaining 00154302
0017B2 4140 4050 00050 86 LA R4,80(,R4) increment target address 00154402
0017B6 4150 5008 00008 87 LA R5,8(,R5) point to next CCW 00154502
0017BA 4630 C02C 0179C 88 BCT R3,NEXTCARD read next card 00154602
0017BE 5B50 C098 01808 89 S R5,EIGHT point to previous CCW 00154702
0017C2 94BF 5004 00004 90 NI 4(R5),X'BF' clear command chaining flag 00154802
91 * 00154902
92 * read cards and wait for completion 00155002
93 * 00155102
0017C6 9C00 000C 0000C 94 SIO 12(0) read cards 00155202
0017CA 4120 C066 017D6 95 LA R2,*+12 continue here after I/O completion 00155302
0017CE 5020 C08C 017FC 96 ST R2,CONTINUE store continue address in PSWD skeleton 00155402
0017D2 8200 C088 017F8 97 LPSW WAITPSWD wait for I/O completion 00155502
98 * 00155602
99 * "IPL" the Sample Operating System 00155702
100 * 00155802
0017D6 8200 0000 00000 101 LPSW 0 transfer control 00155902
102 * 00156002
103 * I/O interrupt handler 00156102
104 * 00156202
017DA 105 IOINTRPT EQU * 00156302
0017DA 9104 B044 00044 106 TM CSW+4,X'04' device end received? 00156402
0017DE 47E0 C07A 017EA 107 BNO IOINTRTN -> no, keep waiting 00156502
0017E2 94FD B039 00039 108 NI IOOLD+1,X'FD' -> yes, terminate wait state and .. 00156602
0017E6 947F B038 00038 109 NI IOOLD,X'7F' .. and disable channel 0 interrupts 00156702
1 Sample Operating System Version 2.00 Page 5
Active Usings: PROGRAM,R11 CARDLDR,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
00017EA 8200 B038 00038 110 IOINTRTN LPSW IOOLD return to mainline 00156802
111 DROP R11,R12 no longer needed 00156902
112 * 00157002
113 * Data area 00157102
114 * 00157202
0017EE F8F0 115 ENBLECH0 DC C'80' mask to enable channel 0 interrupts 00157302
0017F0 02 116 READ DC X'02' read a card 00157402
0017F8 117 DS 0D align 00157502
0017F8 80020000 118 WAITPSWD DC X'80020000' wait with channel 0 interrupts enabled 00157602
0017FC 119 CONTINUE DS F continue here after wait 00157702
001800 00000000 120 LOADADDR DC F'0' code is to be loaded here 00157802
001804 0000004B 121 NUMCARDS DC F'75' number of cards to read 00157904
001808 00000008 122 EIGHT DC F'8' CCW length 00158002
001810 123 CCWCHAIN DS 0D start of card reader CCW chain 00158102
124 *** 00158202
125 *** Sample Operating System code begins here 00158302
126 *** 00158402
000000 00000 01770 127 PROGRAM CSECT , sample OS must follow loader cards 00158502
0 000000 129 CORESIZE EQU 16777216 bytes of core in object machine 00170002
0 R:0 00000 131 USING *,0 COMMUNICATIONS AREA 00190000
0000000 000000000000103E 133 IPLPSW DC B'00000000',B'00000000',X'0000',X'00',AL3(IPLRTN) 00210000
000008 134 IPLCCW1 DS D . IPL CCW #1 00220000
000010 135 IPLCCW2 DS D . IPL CCW #2 00230000
000018 136 EXTOLD DS D . EXTERNAL OLD PSW 00240000
000020 137 SVCOLD DS D . SVC OLD PSW 00250000
000028 138 PGMOLD DS D . PROGRAM INTERRUPT OLD PSW 00260000
000030 139 MCHKOLD DS D . MACHINE CHECK OLD PSW 00270000
000038 140 IOOLD DS D . I/O INTERRUPT OLD PSW 00280000
000040 141 CSW DS D . CHANNEL STATUS WORD 00290000
000048 142 CAW DS F . CHANNEL ADDRESS WORD 00300000
00004C 143 UNUSED0 DS F . 00310000
000050 FFFFFFFF 144 TIMER DC F'-1' . TIMER 00320000
000054 00000000 145 UNUSED1 DC F'0' . 00330000
000058 000000000000027A 146 EXTNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(EXTHANDL) 00340000
000060 00000000000002B2 147 SVCNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(SVCHANDL) 00350000
000068 00000000000002B0 148 PGMNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(PGMHANDL) 00360000
000070 0002000000000000 149 MCHKNEW DC B'00000000',B'00000010',X'0000',X'00',AL3(0) 00370000
000078 00000000000017DA 150 IONEW DC B'00000000',B'00000000',X'0000',X'00',AL3(IOINTRPT) <-+ 00380002
151 *** | 00382002
152 *** IOINTRPT will be replaced with IOHANDL after IPL by IPLRTN -----+ 00384002
153 *** 00386002
000080 00080 00180 154 ORG *+X'100' SPACE OVER STAND ALONE DUMP AREA 00390000
000180 00001740 155 FSBPTR DC A(VERYEND) . FSB POINTER 00400000
000184 0000000100000000 156 FSBSEM DC F'1,0' . FSB SEMAPHORE 00410000
00018C 0000000000000000 157 MEMORY DC F'0,0' . MEMORY SEMAPHORE 00420000
000194 0000000100000000 158 CAWSEM DC F'1,0' . CAW SEMAPHORE 00430000
000019C 160 TRAPSAVE DS 16F . STORAGE FOR EXTERNAL INTERRUPTS 00450000
0001DC 161 IOHSAVE DS 16F . STORAGE FOR I/O INTERRUPTS 00460000
000021C 163 SYSSEMSA DS CL84 . SYSTEM SEMAPHORE SAVE AREA 00480000
1 Sample Operating System Version 2.00 Page 6
Active Usings: PROGRAM,R0
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000270 165 RUNNING DS A . RUNNING 00500000
000274 166 NEXTTRY DS A . NEXTTRY 00510000
000278 167 NEXTTRYM DS C,0H . NEXTTRY MODIFIED 00520000
1 Sample Operating System Version 2.00 Page 7
Active Usings: PROGRAM,R0
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 169 *********************************************************************** 00540000
170 * * 00550000
171 * EXTERNAL, PROGRAM, AND SVC INTERRUPT HANDLERS * 00560000
172 * * 00570000
173 *********************************************************************** 00580000
0 0027A 175 EXTHANDL EQU * . EXTERNAL INTERRUPT HANDLER 00600000
00027A 900F 019C 0019C 176 STM 0,15,TRAPSAVE . SAVE REGISTERS 00610000
00027E 0510 177 BALR 1,0 . ESTABLISH ADDRESSING 00620000
R:1 00280 178 USING *,1 00630000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 178 in /mbhfs/sos4k.asm on volume:
000280 9580 001B 0001B 179 CLI EXTOLD+3,X'80' . SEE IF TIMER TRAP 00640000
000284 4770 1028 002A8 180 BNE EXTHRET . IF NOT, IGNORE 00650000
000288 58F0 0270 00270 181 L 15,RUNNING . SET UP REGISTERS FOR TRAFFIC 00660000
R:F 00000 182 USING PCB,15 . CONTROLLER (XPER) 00670000
00028C 95FF F019 00019 183 CLI PCBBLOKT,X'FF' . IF BLOCKED, NO PROCESS IS 00680000
000290 4780 1028 002A8 184 BE EXTHRET . RUNNABLE, SO RETURN 00690000
000294 41E0 F04C 0004C 185 LA 14,PCBISA . GET SAVE AREA 00700000
R:E 00000 186 USING SA,14 00710000
000298 D207 E000 0018 00000 00018 187 MVC SAPSW,EXTOLD . AND STORE OLD STUFF INTO IT 00720000
00029E D23F E008 019C 00008 0019C 188 MVC SAREGS,TRAPSAVE 00730000
0002A4 47F0 12EA 0056A 189 B XPER . THEN GO TO TRAFFIC SCHEDULER 00740000
190 DROP 14,15 00750000
0002A8 980F 019C 0019C 191 EXTHRET LM 0,15,TRAPSAVE . TO IGNORE AN INTERRUPT, RELOAD 00760000
0002AC 8200 0018 00018 192 LPSW EXTOLD . AND TRANSFER BACK 00770000
0 002B0 194 PGMHANDL EQU * . PROGRAM INTERRUPT HANDLER 00790000
0002B0 0A6F 195 SVC C'?' . IN ANY CASE, AN ERROR 00800000
1 Sample Operating System Version 2.00 Page 8
Active Usings: PROGRAM,R0 PROGRAM+X'280',R1
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 197 *********************************************************************** 00820000
198 * * 00830000
199 * SVC INTERRUPT HANDLER * 00840000
200 * * 00850000
201 * FOR ALL ROUTINES ENTERED BY SVC INTERRUPT, THE * 00860000
202 * FOLLOWING REGISTERS CONTAIN THIS INFORMATION: * 00870000
203 * * 00880000
204 * REGISTER 1 - BASE REGISTER FOR ROUTINE * 00890000
205 * REGISTER 2 - POINTER TO ARGUMENT LIST (IF ANY) * 00900000
206 * REGISTER 14 - POINTER TO SAVEAREA USED FOR THIS SVC * 00910000
207 * REGISTER 15 - POINTER TO PCB PRESENTLY RUNNING * 00920000
208 * * 00930000
209 *********************************************************************** 00940000
0 002B2 211 SVCHANDL EQU * . SVC HANDLER 00960000
0002B2 900F 019C 0019C 212 STM 0,15,TRAPSAVE . SAVE REGISTERS 00970000
0002B6 0590 213 BALR 9,0 . ESTABLISH ADDRESSING 00980000
R:9 002B8 214 USING *,9 00990000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 178
** ASMA435I Record 214 in /mbhfs/sos4k.asm on volume:
0002B8 98AE 905C 00314 215 LM 10,14,SVCCONST . INITIALIZE REGISTERS 01000000
0002BC 43A0 0023 00023 216 IC 10,SVCOLD+3 . GET SVC CODE 01010000
0002C0 43AA 9070 00328 217 IC 10,SVCHTABL(10) . TRANSLATE INTO TABLE OFFSET 01020000
0002C4 41AA 9170 00428 218 LA 10,SVCRTN(10) . REG 10 -> THE CORRECT PSW 01030000
0002C8 9500 A002 00002 219 CLI 2(10),X'00' . IS THIS CALL PROTECTED? 01040000
0002CC 4780 904A 00302 220 BE SVCHPROT . THEN SEE IF WE CAN CALL IT 01050000
0002D0 58F0 0270 00270 221 SVCOK L 15,RUNNING . GET PCB POINTER 01060000
R:F 00000 222 USING PCB,15 01070000
0002D4 9500 A003 00003 223 CLI 3(10),X'00' . IS IT A SYSTEM SAVEAREA? 01080000
0002D8 4780 9026 002DE 224 BE SYSSEM . DON'T USE REG 14 AS PCB POINTER 01090000
0002DC 18EF 225 LR 14,15 . ELSE, SET UP PCB POINTER 01100000
0002DE 43BA 0003 00003 226 SYSSEM IC 11,3(10) . GET POINTER TO SAVE AREA OFFSET 01110000
0002E2 5AEB 9210 004C8 227 A 14,SVCSAVE(11) . REG 14 -> SAVE AREA 01120000
0002E6 954B 0023 00023 228 CLI SVCOLD+3,C'.' . ARE WE CALLING XPER? 01130000
0002EA 4780 9042 002FA 229 BE SVCXPER . IF SO, DON'T SAVE RETURN STATUS 01140000
R:E 00000 230 USING SA,14 01150000
0002EE D207 E000 0020 00000 00020 231 MVC SAPSW,SVCOLD . SAVE PSW 01160000
0002F4 D23F E008 019C 00008 0019C 232 MVC SAREGS,TRAPSAVE . SAVE REGISTERS 01170000
0002FA 581A 0004 00004 233 SVCXPER L 1,4(10) . MAKE ADDRESSING EASY WITHIN 01180000
0002FE 8200 A000 00000 234 LPSW 0(10) . ROUTINE, AND GO THERE 01190000
000302 58C0 0020 00020 235 SVCHPROT L 12,SVCOLD . GET PROTECTION KEY 01200000
000306 14CD 236 NR 12,13 . IS IT A USER? 01210000
000308 4780 9018 002D0 237 BZ SVCOK . IF NO, THAT'S FINE 01220000
00030C 41A0 91F8 004B0 238 LA 10,SVCRTN+136 . ELSE SET UP CALL TO XQUE 01230000
000310 47F0 9018 002D0 239 B SVCOK . 01240000
240 DROP 9 01250000
000314 0000000000000000 241 SVCCONST DC 3F'0',X'00F00000',F'0' 01260000
0000328 8484848484848484 243 SVCHTABL DC 256X'84' . TABLE OF PSW OFFSETS 01280000
000428 00428 003FF 244 ORG SVCHTABL+C'P' 01290000
0003FF 00 245 DC AL1(0) 01300000
000400 00400 0040D 246 ORG SVCHTABL+C'V' 01310000
00040D 08 247 DC AL1(8) 01320000
00040E 0040E 00382 248 ORG SVCHTABL+C'!' 01330000
1 Sample Operating System Version 2.00 Page 9
Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000382 10 249 DC AL1(16) 01340000
000383 00383 00393 250 ORG SVCHTABL+C',' 01350000
000393 18 251 DC AL1(24) 01360000
000394 00394 003EA 252 ORG SVCHTABL+C'B' 01370000
0003EA 20 253 DC AL1(32) 01380000
0003EB 003EB 003E9 254 ORG SVCHTABL+C'A' 01390000
0003E9 28 255 DC AL1(40) 01400000
0003EA 003EA 003EE 256 ORG SVCHTABL+C'F' 01410000
0003EE 30 257 DC AL1(48) 01420000
0003EF 003EF 003F1 258 ORG SVCHTABL+C'I' 01430000
0003F1 38 259 DC AL1(56) 01440000
0003F2 003F2 003F9 260 ORG SVCHTABL+C'J' 01450000
0003F9 40 261 DC AL1(64) 01460000
0003FA 003FA 00373 262 ORG SVCHTABL+C'.' 01470000
000373 48 263 DC AL1(72) 01480000
000374 00374 00401 264 ORG SVCHTABL+C'R' 01490000
000401 50 265 DC AL1(80) 01500000
000402 00402 0040A 266 ORG SVCHTABL+C'S' 01510000
00040A 58 267 DC AL1(88) 01520000
00040B 0040B 003EB 268 ORG SVCHTABL+C'C' 01530000
0003EB 60 269 DC AL1(96) 01540000
0003EC 003EC 003FD 270 ORG SVCHTABL+C'N' 01550000
0003FD 68 271 DC AL1(104) 01560000
0003FE 003FE 00410 272 ORG SVCHTABL+C'Y' 01570000
000410 70 273 DC AL1(112) 01580000
000411 00411 00411 274 ORG SVCHTABL+C'Z' 01590000
000411 78 275 DC AL1(120) 01600000
000412 00412 003EC 276 ORG SVCHTABL+C'D' 01610000
0003EC 80 277 DC AL1(128) 01620000
0003ED 003ED 00397 278 ORG SVCHTABL+C'?' 01630000
000397 88 279 DC AL1(136) 01640000
000398 00398 003F0 280 ORG SVCHTABL+C'H' 01650000
0003F0 90 281 DC AL1(144) 01660000
0003F1 003F1 003ED 282 ORG SVCHTABL+C'E' 01670000
0003ED 98 283 DC AL1(152) 01680000
0003EE 003EE 00428 284 ORG SVCHTABL+256 01690000
0000428 286 SVCRTN DS 0D . THE PSWS 01710000
287 * IN THE FOLLOWING PSWS, THE THIRD BYTE INDICATES * 01720000
288 * WHETHER THE SVC IS RESTRICTED: * 01730000
289 * X'00' -> OPERATING SYSTEM ONLY * 01740000
290 * X'FF' -> AVAILABLE TO USER ALSO * 01750000
291 * * 01760000
292 * THE FOURTH BYTE INDICATES WHICH SAVE AREA TO USE; * 01770000
293 * SVCSAVE BELOW SHOWS THE CODE VALUES. * 01780000
000428 00000000000004EE 294 DC B'00000000',B'00000000',X'0000',X'00',AL3(XP) 01790000
000430 0000000000000534 295 DC B'00000000',B'00000000',X'0000',X'00',AL3(XV) 01800000
000438 00000004000005C0 296 DC B'00000000',B'00000000',X'0004',X'00',AL3(XEXC) 01810000
000440 00000004000005D2 297 DC B'00000000',B'00000000',X'0004',X'00',AL3(XCOM) 01820000
000448 0000000400000744 298 DC B'00000000',B'00000000',X'0004',X'00',AL3(XB) 01830000
000450 FF00000C00000600 299 DC B'11111111',B'00000000',X'000C',X'00',AL3(XA) 01840000
000458 FF00000C000006B6 300 DC B'11111111',B'00000000',X'000C',X'00',AL3(XF) 01850000
000460 000000040000087A 301 DC B'00000000',B'00000000',X'0004',X'00',AL3(XI) 01860000
000468 00000004000008A6 302 DC B'00000000',B'00000000',X'0004',X'00',AL3(XJ) 01870000
000470 000000040000056A 303 DC B'00000000',B'00000000',X'0004',X'00',AL3(XPER) 01880000
1 Sample Operating System Version 2.00 Page 10
Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000478 FF00FF08000008EC 304 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XR) 01890000
000480 FF00FF0800000978 305 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XS) 01900000
000488 FF00FF0800000780 306 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XC) 01910000
000490 0000FF04000008CA 307 DC B'00000000',B'00000000',X'FF04',X'00',AL3(XN) 01920000
000498 0000FF0800000A0A 308 DC B'00000000',B'00000000',X'FF08',X'00',AL3(XY) 01930000
0004A0 FF00FF0800000A42 309 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XZ) 01940000
0004A8 FF00FF08000007C6 310 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XD) 01950000
0004B0 0000FF0400000A8E 311 DC B'00000000',B'00000000',X'FF04',X'00',AL3(XQUE) 01960000
0004B8 FF00FF0800000842 312 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XH) 01970000
0004C0 FF00000C00000608 313 DC B'11111111',B'00000000',X'000C',X'00',AL3(XAUTO) 01980000
00004C8 315 SVCSAVE DS 0F . THE SAVE AREA OFFSETS 02000000
0004C8 0000021C 316 DC A(SYSSEMSA) . CODE 00 -> SYSSEMSA 02010000
0004CC 0000004C 317 DC A(PCBISA-PCB) . CODE 04 -> INTERRUPT SAVE AREA 02020000
0004D0 000000A0 318 DC A(PCBFSA-PCB) . CODE 08 -> FAULT SAVE AREA 02030000
0004D4 000000F4 319 DC A(PCBMSA-PCB) . CODE 0C -> MEMORY SAVE AREA 02040000
-
321 *********************************************************************** 02060000
322 * * 02070000
323 * RETURN SEQUENCE FOR REQUEST DRIVEN ROUTINES AND TRAFFIC CONTROLLER * 02080000
324 * * 02090000
325 *********************************************************************** 02100000
00004D8 327 DS 0D 02120000
0004D8 00000000000004E0 328 RETURN DC B'00000000',B'00000000',X'0000',X'00',AL3(RETURNR) 02130000
0 004E0 330 RETURNR EQU * . RETURN ROUTINE FOR SVC'S AND XPER 02150000
0004E0 D207 0020 E000 00020 00000 331 MVC SVCOLD,SAPSW . SAVE PSW IN A SAFE PLACE 02160000
0004E6 980F E008 00008 332 LM 0,15,SAREGS . RELOAD REGISTERS 02170000
0004EA 8200 0020 00020 333 LPSW SVCOLD . AND RETURN 02180000
1 Sample Operating System Version 2.00 Page 11
Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 335 *********************************************************************** 02200000
336 * * 02210000
337 * REQUEST DRIVEN ROUTINES * 02220000
338 * * 02230000
339 *********************************************************************** 02240000
-
341 *********************************************************************** 02260000
342 * * 02270000
343 * XP ROUTINE * 02280000
344 * * 02290000
345 * FUNCTION: TO IMPLEMENT "P" PRIMITIVE FOR SEMAPHORES * 02300000
346 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02310000
347 * SM DS 0D SEMAPHORE DEFINITION * 02320000
348 * SMVAL DS F VALUE * 02330000
349 * SMPTR DS A POINTER TO FIRST WAITER * 02340000
350 * ROUTINES USED: XPER * 02350000
351 * PROCEDURE: SUBTRACT ONE FROM SMVAL; IF NON-NEGATIVE, RETURN. * 02360000
352 * IF NEGATIVE, PLACE RUNNING PROCESS AT END OF LIST * 02370000
353 * OF PRECESSES WAITING ON SM. BLOCK CALLING PROCESS; * 02380000
354 * ENTER TRAFFIC CONTROLLER. * 02390000
355 * ERROR CHECKS: NONE * 02400000
356 * INTERRUPTS: OFF * 02410000
357 * USER ACCESS: NO * 02420000
358 * * 02430000
359 *********************************************************************** 02440000
0 004EE 361 XP EQU * . THE XP ROUTINE 02460000
R:1 004EE 362 USING *,1 02470000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 362 in /mbhfs/sos4k.asm on volume:
R:2 00000 363 USING SM,2 . ARGUMENT IS A SEMAPHORE 02480000
0004EE 5830 2000 00000 364 L 3,SMVAL . GET THE VALUE 02490000
0004F2 0630 365 BCTR 3,0 . SUBTRACT ONE 02500000
0004F4 5030 2000 00000 366 ST 3,SMVAL . AND STORE IT BACK 02510000
0004F8 1233 367 LTR 3,3 . SET CONDITION CODE 02520000
0004FA 4740 1014 00502 368 BM XPWAIT . IF IT'S NEGATIVE, MUST WAIT 02530000
0004FE 8200 04D8 004D8 369 LPSW RETURN . ELSE RETURN NOW 02540000
000502 4140 2004 00004 370 XPWAIT LA 4,SMPTR . START GOING DOWN 02550000
000506 5850 2004 00004 371 L 5,SMPTR . CHAIN OF POINTERS 02560000
372 DROP 15 02570000
R:5 00000 373 USING PCB,5 02580000
00050A 1255 374 XPLOOP LTR 5,5 . IF REACHED END 02590000
00050C 4780 102E 0051C 375 BZ XPTHEN . ADD OUR PCB ON. ELSE, 02600000
000510 4140 5030 00030 376 LA 4,PCBNSW . INCREMENT POINTERS 02610000
000514 5850 5030 00030 377 L 5,PCBNSW 02620000
000518 47F0 101C 0050A 378 B XPLOOP . AND TRY AGAIN 02630000
379 DROP 5 02640000
R:F 00000 380 USING PCB,15 02650000
00051C D203 4000 0270 00000 00270 381 XPTHEN MVC 0(4,4),RUNNING . WE'RE AT THE END 02660000
000522 5050 F030 00030 382 ST 5,PCBNSW . STORE NULL POINTER 02670000
000526 92FF F019 00019 383 MVI PCBBLOKT,X'FF' . AND WE'RE BLOCKED 02680000
00052A D253 F04C 021C 0004C 0021C 384 MVC PCBISA,SYSSEMSA . SWITCH SAVE AREAS 02690000
000530 47F0 107C 0056A 385 B XPER . SO RUN SOMEONE ELSE 02700000
1 Sample Operating System Version 2.00 Page 12
Active Usings: PROGRAM,R0 PROGRAM+X'4EE',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 386 DROP 2 02710000
1 Sample Operating System Version 2.00 Page 13
Active Usings: PROGRAM,R0 PROGRAM+X'4EE',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 388 *********************************************************************** 02730000
389 * * 02740000
390 * XV ROUTINE * 02750000
391 * * 02760000
392 * FUNCTION: TO IMPLEMENT "V" PRIMITIVE FOR SEMAPHORES * 02770000
393 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02780000
394 * SM DS 0D SEMAPHORE DEFINITION * 02790000
395 * SMVAL DS F VALUE * 02800000
396 * SMPTR DS A POINTER TO FIRST WAITER * 02810000
397 * ROUTINES USED: NONE * 02820000
398 * PROCEDURE: ADD ONE TO SMVAL; IF > ZERO, RETURN. IF ZERO OR * 02830000
399 * LESS, REMOVE FIRST PROCESS FROM WAITER CHAIN; * 02840000
400 * UNBLOCK IT; IF NEXTTRYM NOT SET, SET IT AND SET * 02850000
401 * NEXTTRY TO THAT PROCESS; RETURN; IF NEXTTRYM SET, * 02860000
402 * RETURN. * 02870000
403 * ERROR CHECKS: NONE * 02880000
404 * INTERRUPTS: OFF * 02890000
405 * USER ACCESS: NO * 02900000
406 * * 02910000
407 *********************************************************************** 02920000
0 00534 409 XV EQU * . THE XV ROUTINE 02940000
R:1 00534 410 USING *,1 02950000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 410 in /mbhfs/sos4k.asm on volume:
R:2 00000 411 USING SM,2 . ARGUMENT IS A SEMAPHORE 02960000
000534 5830 2000 00000 412 L 3,SMVAL . GET THE VALUE 02970000
000538 5A30 1924 00E58 413 A 3,=F'1' . ADD ONE 02980000
00053C 5030 2000 00000 414 ST 3,SMVAL . AND STORE IT BACK 02990000
000540 47D0 1014 00548 415 BNP XVWAKEUP . IF <=0, SOMEONE'S WAITING 03000000
000544 8200 04D8 004D8 416 LPSW RETURN . ELSE RETURN 03010000
000548 5840 2004 00004 417 XVWAKEUP L 4,SMPTR . GET THE FIRST OF THE GUYS 03020000
418 DROP 15 03030000
R:4 00000 419 USING PCB,4 03040000
00054C D203 2004 4030 00004 00030 420 MVC SMPTR,PCBNSW . REMEMBER THE REST 03050000
000552 9200 4019 00019 421 MVI PCBBLOKT,X'00' . WE'RE NO LONGER BLOCKING HIM 03060000
000556 95FF 0278 00278 422 CLI NEXTTRYM,X'FF' . IS NEXT TRY MODIFIED? 03070000
00055A 4780 1032 00566 423 BE XVRET . IF SO, WELL OK 03080000
00055E 5040 0274 00274 424 ST 4,NEXTTRY ELSE MODIFY NEXTTRY 03090000
000562 92FF 0278 00278 425 MVI NEXTTRYM,X'FF' . AND SAY SO 03100000
000566 8200 04D8 004D8 426 XVRET LPSW RETURN . GET BACK 03110000
427 DROP 2,4 03120000
1 Sample Operating System Version 2.00 Page 14
Active Usings: PROGRAM,R0 PROGRAM+X'534',R1 SA,R14
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 429 *********************************************************************** 03140000
430 * * 03150000
431 * XPER ROUTINE (TRAFFIC CONTROLLER) * 03160000
432 * * 03170000
433 * FUNCTION: TO IMPLEMENT MULTIPROGRAMMING * 03180000
434 * DATABASES: NONE * 03190000
435 * ROUTINES USED: NONE * 03200000
436 * PROCEDURE: STARTING WITH NEXTTRY, SEARCH FOR PROCESS ON ALL * 03210000
437 * PCB CHAIN NOT BLOCKED OR STOPPED; IF FOUND, USE AS * 03220000
438 * NEW RUNNING, FOR 50 MS OF TIME AND RETURN. ELSE, * 03230000
439 * ENTER WAIT STATE WITH INTERRUPTS ON, AND TRY TO * 03240000
440 * SCHEDULE AGAIN AFTER INTERRUPT; RETURN. * 03250000
441 * ERROR CHECKS: NONE * 03260000
442 * INTERRUPTS: OFF * 03270000
443 * USER ACCESS: NO * 03280000
444 * * 03290000
445 *********************************************************************** 03300000
0 0056A 447 XPER EQU * . ROUTINE XPER: TRAFFIC SCHEDULER 03320000
00056A 8000 0078 00078 448 SSM IONEW . MASK OFF INTERRUPTS 03330000
00056E 0510 449 BALR 1,0 03340000
R:1 00570 450 USING *,1 03350000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 450 in /mbhfs/sos4k.asm on volume:
000570 58A0 0274 00274 451 L 10,NEXTTRY . START LOOKING AT NEXTTRY 03360000
000574 18BA 452 LR 11,10 . REMEMBER WHICH THAT WAS 03370000
R:A 00000 453 USING PCB,10 03380000
000576 95FF A019 00019 454 GWLOOP CLI PCBBLOKT,X'FF' . IF IT'S BLOCKED 03390000
00057A 4780 1016 00586 455 BE GWINC . IGNORE 03400000
00057E 95FF A018 00018 456 CLI PCBSTOPT,X'FF' . ELSE, IF IT'S NOT STOPPED 03410000
000582 4770 1030 005A0 457 BNE GWRUN . WE CAN RUN IT 03420000
000586 58A0 A010 00010 458 GWINC L 10,PCBNPALL . ELSE, GO TO THE NEXT 03430000
00058A 19AB 459 CR 10,11 . IF WE'VE SEEN ALL, QUIT 03440000
00058C 4770 1006 00576 460 BNE GWLOOP . ELSE TRY AGAIN 03450000
000590 8200 1028 00598 461 LPSW IDLE . SIT AND WAIT 03460000
000598 462 DS 0D 03470000
000598 FE0200000000056A 463 IDLE DC B'11111110',B'00000010',X'0000',X'00',AL3(XPER) 03480000
00005A0 D203 0274 A010 00274 00010 465 GWRUN MVC NEXTTRY,PCBNPALL . GET A NEW NEXTTRY 03500000
0005A6 9200 0278 00278 466 MVI NEXTTRYM,X'00' . NOT MODIFIED 03510000
0005AA 50A0 0270 00270 467 ST 10,RUNNING . GET A NEW RUNNING 03520000
0005AE 41E0 A04C 0004C 468 LA 14,PCBISA 03530000
0005B2 D203 0050 104C 00050 005BC 469 MVC TIMER,QUANTUM . INTERRUPT AFTER 50 MS 03540000
0005B8 8200 04D8 004D8 470 LPSW RETURN . AND GO TO RETURNR 03550000
0005BC 00000F00 471 QUANTUM DC X'00000F00' . QUANTUM OF TIME 03560000
472 DROP 10 03570000
R:F 00000 473 USING PCB,15 03580000
1 Sample Operating System Version 2.00 Page 15
Active Usings: PROGRAM,R0 PROGRAM+X'570',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 475 *********************************************************************** 03600000
476 * * 03610000
477 * XEXC ROUTINE * 03620000
478 * * 03630000
479 * FUNCTION: TO ENTER SMC SECTION * 03640000
480 * DATABASES: NONE * 03650000
481 * ROUTINES USED: NONE * 03660000
482 * PROCEDURE: INCREMENT SMC BYTE IN PCB BY ONE; RETURN. * 03670000
483 * ERROR CHECKS: NONE * 03680000
484 * INTERRUPTS: OFF * 03690000
485 * USER ACCESS: NO * 03700000
486 * * 03710000
487 *********************************************************************** 03720000
0 005C0 489 XEXC EQU * . ROUTINE XEXC: ENTER SMC SECTION 03740000
R:1 005C0 490 USING *,1 03750000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 490 in /mbhfs/sos4k.asm on volume:
0005C0 1B88 491 SR 8,8 03760000
0005C2 4380 F01A 0001A 492 IC 8,PCBINSMC 03770000
0005C6 4188 0001 00001 493 LA 8,1(8) . ADD ONE TO SMC BYTE 03780000
0005CA 4280 F01A 0001A 494 STC 8,PCBINSMC 03790000
0005CE 8200 04D8 004D8 495 LPSW RETURN . AND LEAVE 03800000
0 497 *********************************************************************** 03820000
498 * * 03830000
499 * XCOM ROUTINE * 03840000
500 * * 03850000
501 * FUNCTION: TO LEAVE SMC SECTION * 03860000
502 * DATABASES: NONE * 03870000
503 * ROUTINES USED: XP, XV * 03880000
504 * PROCEDURE: DECREMENT SMC BYTE IN PCB BY ONE; IF NOT ZERO, * 03890000
505 * RETURN. ELSE, CHECK FOR STOP WAITING; IF STOP * 03900000
506 * WAITING, ALLOW STOP AND BLOCK SELF; RETURN. IF NO * 03910000
507 * STOP WAITING, RETURN. * 03920000
508 * ERROR CHECKS: NONE * 03930000
509 * INTERRUPTS: OFF * 03940000
510 * USER ACCESS: NO * 03950000
511 * * 03960000
512 *********************************************************************** 03970000
0 005D2 514 XCOM EQU * . ROUTINE XCOM: LEAVE SMC 03990000
R:1 005D2 515 USING *,1 04000000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 515 in /mbhfs/sos4k.asm on volume:
0005D2 1B88 516 SR 8,8 04010000
0005D4 4380 F01A 0001A 517 IC 8,PCBINSMC 04020000
0005D8 0680 518 BCTR 8,0 . SUBTRACT ONE FROM IN SMC BYTE 04030000
0005DA 4280 F01A 0001A 519 STC 8,PCBINSMC 04040000
0005DE 1288 520 LTR 8,8 . IS IT ZERO? 04050000
0005E0 4770 102A 005FC 521 BNZ XCOMRET . NO, THEN GET BACK, OTHERWISE 04060000
0005E4 9500 F01B 0001B 522 CLI PCBSW,X'00' . IS STOP WAITING? 04070000
0005E8 4780 102A 005FC 523 BE XCOMRET . IF NOT, RETURN 04080000
0005EC 9200 F01B 0001B 524 MVI PCBSW,X'00' . STOPS NOT WAITING AFTER THIS 04090000
0005F0 4120 F034 00034 525 LA 2,PCBSRS . WE'LL "V" THE STOPPER, 04100000
1 Sample Operating System Version 2.00 Page 16
Active Usings: PROGRAM,R0 PROGRAM+X'5D2',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
00005F4 0AE5 526 SVC C'V' 04110000
0005F6 4120 F03C 0003C 527 LA 2,PCBSES . AND "P" THE STOPPEE. 04120000
0005FA 0AD7 528 SVC C'P' 04130000
0005FC 8200 04D8 004D8 529 XCOMRET LPSW RETURN . AND HERE (IF EVER) WE RETURN 04140000
1 Sample Operating System Version 2.00 Page 17
Active Usings: PROGRAM,R0 PROGRAM+X'5D2',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 531 *********************************************************************** 04160000
532 * * 04170000
533 * XA ROUTINE * 04180000
534 * XAUTO ROUTINE * 04190000
535 * * 04200000
536 * FUNCTION: TO ALLOCATE MEMORY * 04210000
537 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XAX: * 04220000
538 * XAX DS 0D * 04230000
539 * XAXSIZE DS F SIZE OF BLOCK TO BE ALLOCATED * 04240000
540 * XAXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 04250000
541 * XAXALGN DS F ALIGNMENT OF BLOCK * 04260000
542 * ROUTINES USED: XEXC, XCOM, XP, XV, XB * 04270000
543 * PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE FOR LARGE * 04280000
544 * ENOUGH MEMORY BLOCK; ALIGN BOUNDARY; USE XB TO * 04290000
545 * CHAIN ANY LEFTOVER BLOCKS TO FREE STORAGE LIST; * 04300000
546 * PLACE ADDRESS OF ALLOCATED BLOCK IN XAXADDR; UNLOCK* 04310000
547 * FSB SEMAPHORE; RETURN. IF CAN'T SATISFY REQUEST, * 04320000
548 * UNLOCK FSB SEMAPHORE, APPLY XP ROUTINE TO MEMORY * 04330000
549 * SEMAPHORE, BLOCKING PROCESS RUNNING UNTIL MEMORY * 04340000
550 * FREED; THEN UNBLOCK; TRY TO SATISFY REQUEST AGAIN. * 04350000
551 * ERROR CHECKS: NONE * 04360000
552 * INTERRUPTS: ON * 04370000
553 * USER ACCESS: NO * 04380000
554 * * 04390000
555 *********************************************************************** 04400000
0 00600 557 XA EQU * . THE XA ROUTINE, TO ALLOCATE 04420000
R:1 00600 558 USING *,1 04430000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 558 in /mbhfs/sos4k.asm on volume:
000600 4100 0001 00001 559 LA 0,1 . SET REGISTER ZERO TO ONE TO 04440000
000604 47F0 100E 0060E 560 B XACOM . INDICATE C'A' CALL 04450000
00608 561 XAUTO EQU * . AUTO STORAGE ENTRY POINT 04460000
R:1 00608 562 USING *,1 04470000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 562 in /mbhfs/sos4k.asm on volume:
000608 1B00 563 SR 0,0 . REG0=0 INDICATES C'E' CALL 04480000
00060A 5810 1854 00E5C 564 L 1,=A(XA) . RESET BASE REGISTER PROPERLY 04490000
R:1 00600 565 USING XA,1 04500000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 565 in /mbhfs/sos4k.asm on volume:
00060E 0A5A 566 XACOM SVC C'!' . ENTER SMC 04510000
000610 1872 567 LR 7,2 04520000
R:7 00000 568 USING XAX,7 . ARGUMENT LIST 04530000
000612 5860 7000 00000 569 L 6,XAXSIZE . GET THE SIZE REQUESTED 04540000
000616 4120 0184 00184 570 XATOP LA 2,FSBSEM . LOCK THE FSB SEMAPHORE 04550000
00061A 0AD7 571 SVC C'P' . 04560000
00061C 4150 0180 00180 572 LA 5,FSBPTR . START LOOKING DOWN 04570000
000620 5840 0180 00180 573 L 4,FSBPTR . THE FREE STORAGE LIST 04580000
000624 5880 7008 00008 574 L 8,XAXALGN . WE WOULD HAVE TO START AT WITH 04590000
000628 0680 575 BCTR 8,0 . THIS CONSTANT TO FIND ALIGNMENT 04600000
R:4 00000 576 USING FSB,4 04610000
00062A 1244 577 XALOOP LTR 4,4 . IF AT THE END 04620000
00062C 4780 1056 00656 578 BZ XAWAIT . WAIT UNTIL A "FREE" OP 04630000
000630 18D4 579 LR 13,4 . FIND THE LOCATION 04640000
1 Sample Operating System Version 2.00 Page 18
Active Usings: PROGRAM,R0 XA,R1 FSB,R4 XAX,R7 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000632 06D0 580 BCTR 13,0 . IN THIS BLOCK WITH THIS 04650000
000634 16D8 581 OR 13,8 . ALIGNMENT 04660000
000636 41DD 0001 00001 582 LA 13,1(13) . THAT'S IT 04670000
00063A 189D 583 LR 9,13 . AND NOW GET IN REG 9 04680000
00063C 1B94 584 SR 9,4 . WHAT IS WASTED AT THE FRONT 04690000
00063E 5830 4004 00004 585 L 3,FSBSIZE . GET SIZE MINUS WASTE AT 04700000
000642 1B39 586 SR 3,9 . FRONT, LEAVING EFFECTIVE SIZE 04710000
000644 1963 587 CR 6,3 . IS IT ENOUGH? 04720000
000646 47D0 1062 00662 588 BNP XAFOUND . EUREKA! 04730000
00064A 4150 4000 00000 589 LA 5,FSBNEXT . OH WELL, GET THE NEXT FREE 04740000
00064E 5840 4000 00000 590 L 4,FSBNEXT . STORAGE BLOCK ON THE CHAIN 04750000
000652 47F0 102A 0062A 591 B XALOOP . BETTER LUCK NEXT TIME 04760000
000656 0AE5 592 XAWAIT SVC C'V' . NEED TO WAIT 04770000
000658 4120 018C 0018C 593 LA 2,MEMORY . SO WE LET OTHER PEOPLE GET IN 04780000
00065C 0AD7 594 SVC C'P' . SO THEY'LL WAKE US UP 04790000
00065E 47F0 1016 00616 595 B XATOP . AND THEN WE'LL TRY AGAIN 04800000
000662 50D0 7004 00004 596 XAFOUND ST 13,XAXADDR . WE'VE NOW GOT THE ADDRESS 04810000
000666 D203 5000 4000 00000 00000 597 MVC 0(4,5),FSBNEXT . UNLINK THE BLOCK OUT 04820000
00066C 58C0 4004 00004 598 L 12,FSBSIZE . GET THE WHOLE BLOCK SIZE 04830000
000670 4120 E048 00048 599 LA 2,SATEMP . START MAKING UP ARG LISTS 04840000
R:2 00000 600 USING XBX,2 . FOR THE XB ROUTINE 04850000
000674 18AD 601 LR 10,13 . THE STARTING LOCATION 04860000
000676 1BA4 602 SR 10,4 . MINUS THE START OF THE BLOCK 04870000
000678 4780 1086 00686 603 BZ XANF . IF NONE WASTED AT THE FRONT, SKIP 04880000
00067C 5040 2004 00004 604 ST 4,XBXADDR . ELSE FREE, STARTING THERE 04890000
000680 50A0 2000 00000 605 ST 10,XBXSIZE . UP TO THE BEGINNING OF THE 04900000
000684 0AC2 606 SVC C'B' . ALLOCATION; INSERT IT IN THE CHAIN 04910000
000686 18BD 607 XANF LR 11,13 . THE STARTING ADDR PLUS THE SIZE 04920000
000688 1AB6 608 AR 11,6 . GIVES THE FIRST UNUSED ADDR 04930000
00068A 1BCA 609 SR 12,10 . MINUS THE WASTE AT FRONT, 04940000
00068C 1BC6 610 SR 12,6 . MINUS THE PART ALLOCATED. IF 04950000
00068E 4780 109C 0069C 611 BZ XARETURN . NONE LEFT OVER, GOOD 04960000
000692 50B0 2004 00004 612 ST 11,XBXADDR . ELSE STORE ADDRESS AND 04970000
000696 50C0 2000 00000 613 ST 12,XBXSIZE . SIZE, AND LINK ONTO 04980000
00069A 0AC2 614 SVC C'B' . FREE STORAGE LIST 04990000
615 DROP 2 05000000
00069C 4120 0184 00184 616 XARETURN LA 2,FSBSEM . WE ARE DONE, SO NOW SOMEONE 05010000
0006A0 0AE5 617 SVC C'V' . ELSE CAN COME IN 05020000
0006A2 1200 618 LTR 0,0 . IS THIS FOR AUTOMATIC STORAGE? 05030000
0006A4 4770 10B0 006B0 619 BNZ XABACK . IF NOT, RETURN NOW 05040000
0006A8 5060 F044 00044 620 ST 6,PCBASIZE . OTHERWISE STORE SIZE AND 05050000
0006AC 50D0 F048 00048 621 ST 13,PCBAADDR . ADDRESS OF AUTOMATIC STORAGE 05060000
0006B0 0A6B 622 XABACK SVC C',' . LEAVE SMC SECTION 05070000
0006B2 8200 04D8 004D8 623 LPSW RETURN . GET BACK JOJO 05080000
624 DROP 4,7 05090000
1 Sample Operating System Version 2.00 Page 19
Active Usings: PROGRAM,R0 XA,R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 626 *********************************************************************** 05110000
627 * * 05120000
628 * XF ROUTINE * 05130000
629 * * 05140000
630 * FUNCTION: TO FREE MEMORY * 05150000
631 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XFX: * 05160000
632 * XFX DS 0D * 05170000
633 * XFXSIZE DS F SIZE OF BLOCK TO BE FREED * 05180000
634 * XFXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05190000
635 * ROUTINES USED: XEXC, XP, XV, XB, XCOM * 05200000
636 * PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE LIST TO * 05210000
637 * FIND IF ANY FREE BLOCK CONTIGUOUSLY FOLLOWS OR * 05220000
638 * PRECEDES BLOCK TO BE FREED; IF THERE IS ANY, * 05230000
639 * COMPACT THEM INTO A SINGLE BLOCK OF COMBINED SIZE; * 05240000
640 * USE XB TO CHAIN COMPACTED BLOCK ONTO FREE STORAGE * 05250000
641 * LIST; WAKEUP ALL PROCESSES WAITING ON MEMORY * 05260000
642 * SEMAPHORE; UNLOCK FSB SEMAPHORE; RETURN * 05270000
643 * ERROR CHECKS: NONE * 05280000
644 * INTERRUPTS: ON * 05290000
645 * USER ACCESS: NO * 05300000
646 * * 05310000
647 *********************************************************************** 05320000
0 006B6 649 XF EQU * . THE XF ROUTINE, TO FREE STORAGE 05340000
R:1 006B6 650 USING *,1 05350000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 650 in /mbhfs/sos4k.asm on volume:
0006B6 0A5A 651 SVC C'!' . ENTER SMC SECTION 05360000
0006B8 1872 652 LR 7,2 05370000
R:7 00000 653 USING XFX,7 . THE ARGUMENT LIST 05380000
0006BA 5830 7000 00000 654 L 3,XFXSIZE . GET THE SIZE 05390000
0006BE 5840 7004 00004 655 L 4,XFXADDR . AND THE ADDRESS 05400000
0006C2 1853 656 LR 5,3 . GET THE ADDRESS OF THE END OF THE 05410000
0006C4 1A54 657 AR 5,4 . BLOCK TO BE FREED 05420000
0006C6 4120 0184 00184 658 LA 2,FSBSEM . LOCK FSBSEM 05430000
0006CA 0AD7 659 SVC C'P' 05440000
0006CC 4180 0180 00180 660 LA 8,FSBPTR . START LOOKING DOWN THE FREE 05450000
0006D0 5860 0180 00180 661 L 6,FSBPTR . STORAGE LIST, FOR COMPACTION 05460000
R:6 00000 662 USING FSB,6 05470000
0006D4 1266 663 XFLOOP LTR 6,6 . ARE WE THROUGH? 05480000
0006D6 4780 105E 00714 664 BZ XFLINK . IF SO, JUST ADD IT ON 05490000
0006DA 5890 6000 00000 665 L 9,FSBNEXT . IF NOT. GET THE NEXT PTR 05500000
0006DE 1965 666 CR 6,5 . IS THIS BLOCK RIGHT AFTER OURS? 05510000
0006E0 4770 103A 006F0 667 BNE XFTHEN . IF NOT, OK. BUT IF IT IS, 05520000
0006E4 5098 0000 00000 668 ST 9,0(8) . WE CAN COMPACT, SO UNCHAIN IT 05530000
0006E8 5A30 6004 00004 669 A 3,FSBSIZE . AND REMEMBER THE NEW SIZE 05540000
0006EC 47F0 1050 00706 670 B XFBACKUP . AND ON TO THE NEXT 05550000
0006F0 18A6 671 XFTHEN LR 10,6 . MAYBE IT'S RIGHT BEFORE OURS 05560000
0006F2 5AA0 6004 00004 672 A 10,FSBSIZE . GET ENDING ADDRESS OF FREE BLOCK 05570000
0006F6 19A4 673 CR 10,4 . IS IT RIGHT BEFORE OURS? 05580000
0006F8 4770 1052 00708 674 BNE XFINC . OH FUDGE! NO! 05590000
0006FC 5098 0000 00000 675 ST 9,0(8) . IF SO, UNLINK IT 05600000
000700 1846 676 LR 4,6 . GET THE NEW BEGINNING LOCATION 05610000
000702 5A30 6004 00004 677 A 3,FSBSIZE . AND NEW SIZE OF FREE BLOCK 05620000
000706 1868 678 XFBACKUP LR 6,8 . BACK UP ONE FSB 05630000
1 Sample Operating System Version 2.00 Page 20
Active Usings: PROGRAM,R0 PROGRAM+X'6B6',R1 FSB,R6 XFX,R7 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000708 4180 6000 00000 679 XFINC LA 8,FSBNEXT . ON TO THE NEXT FSB 05640000
00070C 5860 6000 00000 680 L 6,FSBNEXT 05650000
000710 47F0 101E 006D4 681 B XFLOOP . TRY, TRY AGAIN 05660000
000714 4120 E048 00048 682 XFLINK LA 2,SATEMP . START TO CALL XB 05670000
R:2 00000 683 USING XBX,2 05680000
000718 5030 2000 00000 684 ST 3,XBXSIZE . STORE SIZE 05690000
00071C 5040 2004 00004 685 ST 4,XBXADDR . AND ADDRESS 05700000
000720 0AC2 686 SVC C'B' . LINK IT ONTO THE FSB CHAIN 05710000
R:2 00000 687 USING SM,2 05720000
000722 4120 018C 0018C 688 LA 2,MEMORY . GET VALUE OF MEMORY SEMAPHORE 05730000
000726 41B0 0001 00001 689 LA 11,1(0,0) . SUBTRACT FROM ONE, IT'S A HANDLE 05740000
00072A 5BB0 2000 00000 690 S 11,SMVAL . ON THE # OF PEOPLE WAITING 05750000
691 DROP 2 05760000
00072E 46B0 1088 0073E 692 XFVLOOP BCT 11,XFVDO . LOOP IF ANYONE ELSE IS WAITING 05770000
000732 4120 0184 00184 693 LA 2,FSBSEM . WE'RE THROUGH, SO 05780000
000736 0AE5 694 SVC C'V' . UNBLOCK FSBSEM 05790000
000738 0A6B 695 SVC C',' . LEAVE SMC 05800000
00073A 8200 04D8 004D8 696 LPSW RETURN . RETURN 05810000
00073E 0AE5 697 XFVDO SVC C'V' . WAKE SOMEONE UP 05820000
000740 47F0 1078 0072E 698 B XFVLOOP . TRY AGAIN FOR ANOTHER 05830000
699 DROP 6,7 05840000
1 Sample Operating System Version 2.00 Page 21
Active Usings: PROGRAM,R0 PROGRAM+X'6B6',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 701 *********************************************************************** 05860000
702 * * 05870000
703 * XB ROUTINE * 05880000
704 * * 05890000
705 * FUNCTION: TO CHAIN A STORAGE BLOCK ONTO FREE STORAGE LIST * 05900000
706 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XBX: * 05910000
707 * XBX DS 0D * 05920000
708 * XBXSIZE DS F SIZE OF BLOCK * 05930000
709 * XBXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05940000
710 * ROUTINES USED: NONE * 05950000
711 * PROCEDURE: SEARCH FREE STORAGE LIST TO FIND WHERE TO INSERT * 05960000
712 * FREE BLOCK IN ORDER OF INCREASING SIZE; FORMAT * 05970000
713 * BLOCK LIKE AN FSB; INSERT; RETURN. * 05980000
714 * ERROR CHECKS: NONE * 05990000
715 * INTERRUPTS: OFF * 06000000
716 * USER ACCESS: NO * 06010000
717 * COMMENTS: SINCE XB ROUTINE ONLY CALLED BY XA AND XF, FSB * 06020000
718 * SEMAPHORE IS ALREADY LOCKED. * 06030000
719 * * 06040000
720 *********************************************************************** 06050000
0 00744 722 XB EQU * 06070000
R:1 00744 723 USING *,1 06080000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 723 in /mbhfs/sos4k.asm on volume:
R:2 00000 724 USING XBX,2 . ARGUMENT LIST 06090000
000744 5830 2000 00000 725 L 3,XBXSIZE . GET THE SIZE 06100000
000748 5840 2004 00004 726 L 4,XBXADDR . AND THE ADDRESS 06110000
00074C 4180 0180 00180 727 LA 8,FSBPTR . START LOOKING DOWN THE CHAIN 06120000
000750 5860 0180 00180 728 L 6,FSBPTR 06130000
000754 1266 729 LTR 6,6 . IF ZERO POINTER, WE ARE AT 06140000
000756 4780 102C 00770 730 BZ XBINSERT . END OF CHAIN ALREADY 06150000
R:6 00000 731 USING FSB,6 06160000
00075A 5930 6004 00004 732 XBLOOP C 3,FSBSIZE . IF THE SIZE OF OURS IS LESS, 06170000
00075E 47D0 102C 00770 733 BNP XBINSERT . TIME TO INSERT 06180000
000762 4180 6000 00000 734 LA 8,FSBNEXT . ELSE GO ON TO THE NEXT 06190000
000766 5860 6000 00000 735 L 6,FSBNEXT 06200000
00076A 1266 736 LTR 6,6 . IF NOT ALREADY THROUGH 06210000
00076C 4770 1016 0075A 737 BNZ XBLOOP . BRANCH BACK 06220000
000770 5048 0000 00000 738 XBINSERT ST 4,0(8) . NOW, LINK OURS ON 06230000
739 DROP 6 06240000
R:4 00000 740 USING FSB,4 06250000
000774 5060 4000 00000 741 ST 6,FSBNEXT . MAKE OURS POINT TO THE NEXT 06260000
000778 5030 4004 00004 742 ST 3,FSBSIZE . WITH THE RIGHT SIZE 06270000
00077C 8200 04D8 004D8 743 LPSW RETURN . AND RETURN 06280000
744 DROP 2,4 06290000
1 Sample Operating System Version 2.00 Page 22
Active Usings: PROGRAM,R0 PROGRAM+X'744',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 746 *********************************************************************** 06310000
747 * * 06320000
748 * XC ROUTINE * 06330000
749 * * 06340000
750 * FUNCTION: TO CREATE A PROCESS * 06350000
751 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XCX: * 06360000
752 * XCX DS 0D * 06370000
753 * XCXNAME DS CL8 NAME OF PROCESS TO BE CREATED * 06380000
754 * ROUTINES USED: XEXC, XCOM, XN, XA, XI, XQUE * 06390000
755 * PROCEDURE: USE XA TO ALLOCATE NEW PCB; PLACE XCXNAME IN PCB; * 06400000
756 * INITIALIZE SEMAPHORES; STOP; BLOCK; OUT OF SMC; * 06410000
757 * CALL XI TO LINK PCB ONTO PCB CHAINS; RETURN. * 06420000
758 * ERROR CHECKS: IF NAME ALREADY USED IN THIS GROUP, XQUE ENTERED. * 06430000
759 * INTERRUPTS: ON * 06440000
760 * USER ACCESS: YES * 06450000
761 * * 06460000
762 *********************************************************************** 06470000
0 00780 764 XC EQU * . THE XC ROUTINE: CREATE A PROCESS 06490000
R:1 00780 765 USING *,1 06500000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 765 in /mbhfs/sos4k.asm on volume:
000780 1872 766 LR 7,2 06510000
R:7 00000 767 USING XCX,7 . ARGUMENT LIST 06520000
000782 4120 E048 00048 768 LA 2,SATEMP . READY TO MAKE CALLS OUT 06530000
R:2 00000 769 USING XNX,2 . A XN-LIKE ARGUMENT LIST 06540000
000786 D207 2000 7000 00000 00000 770 MVC XNXNAME,XCXNAME . GET THE NAME 06550000
00078C 0AD5 771 SVC C'N' . AND CALL TO FIND THE PCB 06560000
00078E D503 2008 16E0 00008 00E60 772 CLC XNXADDR,=A(0) . SEE IF THERE 06570000
000794 4770 1044 007C4 773 BNE XCERR . IF ALREADY EXISTS, BAD 06580000
000798 0A5A 774 SVC C'!' . ENTER SMC SECTION 06590000
775 DROP 2 06600000
R:2 00000 776 USING XAX,2 . READY TO CALL XA 06610000
00079A D203 2000 16E4 00000 00E64 777 MVC XAXSIZE,=A(LENPCB) . WE KNOW THE SIZE 06620000
0007A0 D203 2008 16E8 00008 00E68 778 MVC XAXALGN,=F'8' . AND THE ALIGNMENT 06630000
0007A6 0AC1 779 SVC C'A' . SO CALL 06640000
0007A8 5820 2004 00004 780 L 2,XAXADDR . FIND THE ADDRESS 06650000
781 DROP 2,15 06660000
R:2 00000 782 USING PCB,2 . FILL IN THE PCB 06670000
0007AC D207 2000 7000 00000 00000 783 MVC PCBNAME,XCXNAME . GIVE IT A NAME 06680000
0007B2 92FF 2018 00018 784 MVI PCBSTOPT,X'FF' . IT'S STOPPED 06690000
0007B6 D232 2019 1B01 00019 01281 785 MVC PCBBLOKT(PCBISA-PCBBLOKT),TEMPLATE+1 INITIALIZE PCB 06700000
0007BC 0AC9 786 SVC C'I' . THREAD IT ON 06710000
0007BE 0A6B 787 SVC C',' . LEAVE SMC SECTION 06720000
0007C0 8200 04D8 004D8 788 LPSW RETURN . AND RETURN 06730000
0007C4 0A6F 789 XCERR SVC C'?' . IF ALREADY EXISTS,KERROR 06740000
790 DROP 2,7 06750000
1 Sample Operating System Version 2.00 Page 23
Active Usings: PROGRAM,R0 PROGRAM+X'780',R1 SA,R14
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 792 *********************************************************************** 06770000
793 * * 06780000
794 * XD ROUTINE * 06790000
795 * * 06800000
796 * FUNCTION: TO DESTROY A PROCESS * 06810000
797 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XDX: * 06820000
798 * XDX DS 0D * 06830000
799 * XDXNAME DS CL8 NAME OF PROCESS TO BE DESTROYED* 06840000
800 * ROUTINES USED: XEXC, XJ, XS, XN, XF, XCOM, XQUE * 06850000
801 * PROCEDURE: USE XN TO FIND PCB FOR PROCESS TO BE DESTROYED; * 06860000
802 * USE XJ TO UNLOCK PCB FROM PROCESS CHAINS; IF ANY * 06870000
803 * MESSAGES FOR THIS PROCESS, FREE STORAGE FOR THEM; * 06880000
804 * IF THERE IS ANY AUTOMATIC STORAGE, FREE IT; * 06890000
805 * FREE STORAGE FOR PCB; RETURN. * 06900000
806 * ERROR CHECKS: IF NAME DOESN'T EXIST OR PROCESS NOT STOPPED, * 06910000
807 * XQUE ENTERED. * 06920000
808 * INTERRUPTS: ON * 06930000
809 * USER ACCESS: YES * 06940000
810 * * 06950000
811 *********************************************************************** 06960000
0 007C6 813 XD EQU * . XD ROUTINE: DESTROY A PROCESS 06980000
R:1 007C6 814 USING *,1 06990000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 814 in /mbhfs/sos4k.asm on volume:
0007C6 1872 815 LR 7,2 07000000
R:7 00000 816 USING XDX,7 . ARG LIST 07010000
0007C8 4120 E048 00048 817 LA 2,SATEMP . READY TO CALL OUT 07020000
R:2 00000 818 USING XNX,2 . WILL CALL XN 07030000
0007CC D207 2000 7000 00000 00000 819 MVC XNXNAME,XDXNAME . GET NAME 07040000
0007D2 0AD5 820 SVC C'N' . AND CALL 07050000
0007D4 5820 2008 00008 821 L 2,XNXADDR . GET ADDRESS 07060000
822 DROP 2 07070000
0007D8 1222 823 LTR 2,2 . IF ADDRESS IS NULL, 07080000
0007DA 4780 107A 00840 824 BZ XDERR . IT'S AN ERROR 07090000
R:2 00000 825 USING PCB,2 07100000
0007DE 95FF 2018 00018 826 CLI PCBSTOPT,X'FF' . IF NOT STOPPED 07110000
0007E2 4770 107A 00840 827 BNE XDERR . IT'S AN ERROR 07120000
0007E6 0A5A 828 SVC C'!' . ENTER SMC SECTION 07130000
829 DROP 2 07140000
R:F 00000 830 USING PCB,15 07150000
0007E8 0AD1 831 SVC C'J' . ELSE UNTHREAD THE ENTRY 07160000
0007EA 1882 832 LR 8,2 . REMEMBER THE PCB POINTER 07170000
0007EC 4120 E048 00048 833 LA 2,SATEMP . READY TO CALL OUT AGAIN 07180000
R:8 00000 834 USING PCB,8 07190000
** ASMA300W USING overridden by a prior active USING on statement number 830
** ASMA435I Record 834 in /mbhfs/sos4k.asm on volume:
835 DROP 15 07200000
0007F0 5890 802C 0002C 836 L 9,PCBFM . GET FIRST MESSAGE 07210000
0007F4 1299 837 XDLOOP LTR 9,9 . ANY MORE MESSAGES? 07220000
0007F6 4780 1054 0081A 838 BZ XDCHECK . IF NOT, FINISH UP 07230000
R:9 00000 839 USING MSG,9 07240000
0007FA 58A0 9004 00004 840 L 10,MSGNEXT . ELSE REMEMBER NEXT 07250000
0007FE 58B0 9008 00008 841 L 11,MSGSIZE . GET THE SIZE 07260000
000802 41BB 000F 0000F 842 LA 11,15(11) . AND MAKE IT SOME NUMBER 07270000
1 Sample Operating System Version 2.00 Page 24
Active Usings: PROGRAM,R0 PROGRAM+X'7C6',R1 XDX,R7 PCB,R8 MSG,R9 SA,R14
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000806 54B0 16A6 00E6C 843 N 11,=F'-8' . OF DOUBLEWORDS 07280000
R:2 00000 844 USING XFX,2 07290000
00080A 5090 2004 00004 845 ST 9,XFXADDR . FREE THE LOCATION 07300000
00080E 50B0 2000 00000 846 ST 11,XFXSIZE . THE NUMBER OF WORDS 07310000
000812 0AC6 847 SVC C'F' . DO IT 07320000
000814 189A 848 LR 9,10 . ON TO THE NEXT 07330000
000816 47F0 102E 007F4 849 B XDLOOP . GET THE NEXT MESSAGE 07340000
00081A D503 8048 169A 00048 00E60 850 XDCHECK CLC PCBAADDR(4),=A(0) . HAS AUTOMATIC STORAGE BEEN 07350000
000820 4780 1068 0082E 851 BE XDTHEN . ALLOCATED? IF NOT, GO FINISH UP 07360000
000824 4120 8044 00044 852 LA 2,PCBASIZE . SET UP THE ARGUMENT LIST 07370000
000828 0AC6 853 SVC C'F' . FREE IT 07380000
00082A 4120 E048 00048 854 LA 2,SATEMP . RESET REGISTER 2 07390000
00082E 5080 2004 00004 855 XDTHEN ST 8,XFXADDR . READY TO FREE THE PCB 07400000
000832 D203 2000 169E 00000 00E64 856 MVC XFXSIZE,=A(LENPCB) . THE SIZE 07410000
000838 0AC6 857 SVC C'F' . FREE IT 07420000
00083A 0A6B 858 SVC C',' . LEAVE SMC 07430000
00083C 8200 04D8 004D8 859 LPSW RETURN . AND RETURN 07440000
000840 0A6F 860 XDERR SVC C'?' . IF PROCESS DOES NOT EXIST 07450000
861 DROP 2,7,8,9 07460000
R:F 00000 862 USING PCB,15 07470000
-
864 *********************************************************************** 07490000
865 * * 07500000
866 * XH ROUTINE * 07510000
867 * * 07520000
868 * FUNCTION: TO HALT A JOB * 07530000
869 * DATABASES: NONE * 07540000
870 * ROUTINES USED: XS, XR * 07550000
871 * PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 07560000
872 * INDICATING NORMAL TERMINATION; TRIES TO READ * 07570000
873 * MESSAGES FOREVER LOOPING; BLOCKS ITSELF, THEREBY * 07580000
874 * NEVER RETURNING. * 07590000
875 * ERROR CHECKS: NONE * 07600000
876 * INTERRUPTS: ON * 07610000
877 * USER ACCESS: YES * 07620000
878 * COMMENTS: USER NORMALLY USES THIS ROUTINE TO END A JOB. * 07630000
879 * * 07640000
880 *********************************************************************** 07650000
0 00842 882 XH EQU * . THE XH ROUTINE: HALT A JOB 07670000
R:1 00842 883 USING *,1 07680000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 883 in /mbhfs/sos4k.asm on volume:
000842 4120 1012 00854 884 LA 2,XHMSG1 . SEND A MESSAGE TO *IBSUP 07690000
000846 0AE2 885 SVC C'S' . SEND IT 07700000
000848 4120 102A 0086C 886 XHLOOP LA 2,XHMSG2 . READY TO READ A REPLY 07710000
00084C 0AD9 887 SVC C'R' . WHICH NEVER COMES 07720000
00084E 47F0 1006 00848 888 B XHLOOP . BUT IF IT DOES WERE READY 07730000
000854 889 DS 0F 07740000
000854 5CC9C2E2E4D74040 890 XHMSG1 DC CL8'*IBSUP' . SAY TO *IBSUP 07750000
00085C 0000000C 891 DC F'12' . TWELVE CHARACTERS 07760000
000860 D7D9D6C7D9C1D440 892 DC C'PROGRAM HALT' . SAYING WERE OK 07770000
00086C 893 XHMSG2 DS CL8 . WHO SENDS US A MESSAGE 07780000
1 Sample Operating System Version 2.00 Page 25
Active Usings: PROGRAM,R0 PROGRAM+X'842',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000874 00000001 894 DC F'1' . ONE CHARACTER 07790000
000878 895 DS CL1,0H . WHICH GOES HERE 07800000
1 Sample Operating System Version 2.00 Page 26
Active Usings: PROGRAM,R0 PROGRAM+X'842',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 897 *********************************************************************** 07820000
898 * * 07830000
899 * XI ROUTINE * 07840000
900 * * 07850000
901 * FUNCTION: TO CHAIN A PCB ONTO PROCESS CHAINS * 07860000
902 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 07870000
903 * ROUTINES USED: NONE * 07880000
904 * PROCEDURE: POINTER USED TO CHAIN PCB INTO ALL PCB CHAIN AND * 07890000
905 * THIS GROUP CHAIN RIGHT AFTER RUNNING PCB; RETURN. * 07900000
906 * ERROR CHECKS: NONE * 07910000
907 * INTERRUPTS: OFF * 07920000
908 * USER ACCESS: NO * 07930000
909 * * 07940000
910 *********************************************************************** 07950000
0 0087A 912 XI EQU * . THE XI ROUTINE: THREAD IN A PCB 07970000
R:1 0087A 913 USING *,1 07980000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 913 in /mbhfs/sos4k.asm on volume:
00087A 58A0 F010 00010 914 L 10,PCBNPALL . GET THE NEXT 'ALL' PCB 07990000
00087E 5020 F010 00010 915 ST 2,PCBNPALL . STORE THIS PCB RIGNT AFTER MINE 08000000
916 DROP 15 08010000
R:A 00000 917 USING PCB,10 08020000
000882 5020 A014 00014 918 ST 2,PCBLPALL . THE NEXT ONE DOWN POINTS BACK 08030000
919 DROP 10 08040000
R:2 00000 920 USING PCB,2 08050000
000886 50F0 2014 00014 921 ST 15,PCBLPALL . THIS PCB POINTS BACK 08060000
00088A 50A0 2010 00010 922 ST 10,PCBNPALL . AND FORWARD 08070000
923 DROP 2 08080000
R:F 00000 924 USING PCB,15 08090000
00088E 58A0 F008 00008 925 L 10,PCBNPTG . GET NEXT "THIS GROUP" PCB 08100000
000892 5020 F008 00008 926 ST 2,PCBNPTG . RUNNING PCB POINTS TO NEW MEMBER 08110000
927 DROP 15 . OF PROCESS GROUP 08120000
R:A 00000 928 USING PCB,10 08130000
000896 5020 A00C 0000C 929 ST 2,PCBLPTG . NEXT PCB DOWN POINTS BACK 08140000
930 DROP 10 08150000
R:2 00000 931 USING PCB,2 08160000
00089A 50F0 200C 0000C 932 ST 15,PCBLPTG . AND WE POINT BACKWARD 08170000
00089E 50A0 2008 00008 933 ST 10,PCBNPTG . AND FORWARD 08180000
934 DROP 2 08190000
0008A2 8200 04D8 004D8 935 LPSW RETURN . RETURN 08200000
R:F 00000 936 USING PCB,15 08210000
1 Sample Operating System Version 2.00 Page 27
Active Usings: PROGRAM,R0 PROGRAM+X'87A',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 938 *********************************************************************** 08230000
939 * * 08240000
940 * XJ ROUTINE * 08250000
941 * * 08260000
942 * FUNCTION: TO UNCHAIN A PCB FROM PROCESS CHAINS * 08270000
943 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 08280000
944 * ROUTINES USED: NONE * 08290000
945 * PROCEDURE: POINTERS TO PCB IN ALL PCB CHAIN AND THIS GROUP * 08300000
946 * CHAIN MODIFIED WITHOUT FREEING STORAGE; RETURN. * 08310000
947 * ERROR CHECKS: NONE * 08320000
948 * INTERRUPTS: OFF * 08330000
949 * USER ACCESS: NO * 08340000
950 * * 08350000
951 *********************************************************************** 08360000
0 008A6 953 XJ EQU * . THE XJ ROUTINE: UNTHREAD A PCB 08380000
R:1 008A6 954 USING *,1 08390000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 954 in /mbhfs/sos4k.asm on volume:
955 DROP 15 08400000
R:2 00000 956 USING PCB,2 08410000
0008A6 58B0 2014 00014 957 L 11,PCBLPALL . GET PRECEDING PCB 08420000
0008AA 58A0 2010 00010 958 L 10,PCBNPALL . AND FOLLOWING ONE IN "ALL" 08430000
959 DROP 2 . CHAIN 08440000
R:B 00000 960 USING PCB,11 08450000
0008AE 50A0 B010 00010 961 ST 10,PCBNPALL . LAST POINTS TO NEXT 08460000
962 DROP 11 08470000
R:A 00000 963 USING PCB,10 08480000
0008B2 50B0 A014 00014 964 ST 11,PCBLPALL . NEXT POINTS TO LAST 08490000
965 DROP 10 08500000
R:2 00000 966 USING PCB,2 08510000
0008B6 58B0 200C 0000C 967 L 11,PCBLPTG . REDO FOR THIS GROUP PCB CHAIN 08520000
0008BA 58A0 2008 00008 968 L 10,PCBNPTG 08530000
969 DROP 2 08540000
R:B 00000 970 USING PCB,11 08550000
0008BE 50A0 B008 00008 971 ST 10,PCBNPTG . LAST POINTS TO NEXT 08560000
972 DROP 11 08570000
R:A 00000 973 USING PCB,10 08580000
0008C2 50B0 A00C 0000C 974 ST 11,PCBLPTG . NEXT POINTS TO LAST 08590000
975 DROP 10 08600000
0008C6 8200 04D8 004D8 976 LPSW RETURN . AND RETURN 08610000
R:F 00000 977 USING PCB,15 08620000
1 Sample Operating System Version 2.00 Page 28
Active Usings: PROGRAM,R0 PROGRAM+X'8A6',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 979 *********************************************************************** 08640000
980 * * 08650000
981 * XN ROUTINE * 08660000
982 * * 08670000
983 * FUNCTION: TO FIND THE PCB FOR A PROCESS GIVEN ITS NAME ONLY * 08680000
984 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XNX * 08690000
985 * XNX DS 0D * 08700000
986 * XNXNAME DS CL8 NAME OF PROCESS * 08710000
987 * XNXADDR DS A ADDRESS OF PCB * 08720000
988 * ROUTINES USED: NONE * 08730000
989 * PROCEDURE: SEARCH THIS GROUP PCB CHAIN FOR NAME; IF FOUND, * 08740000
990 * STORE POINTER IN XNXADDR. IF NOT FOUND, STORE * 08750000
991 * ZERO IN XNXADDR; RETURN. * 08760000
992 * ERROR CHECKS: NONE * 08770000
993 * INTERRUPTS: OFF * 08780000
994 * USER ACCESS: YES * 08790000
995 * * 08800000
996 *********************************************************************** 08810000
0 008CA 998 XN EQU * . THE XN ROUTINE: FIND A NAMED PCB 08830000
R:1 008CA 999 USING *,1 08840000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 999 in /mbhfs/sos4k.asm on volume:
R:2 00000 1000 USING XNX,2 . THE ARG LIST 08850000
0008CA 18AF 1001 LR 10,15 . FIRST PCB TO LOOK AT IS OURS 08860000
1002 DROP 15 08870000
R:A 00000 1003 USING PCB,10 08880000
0008CC 58A0 A008 00008 1004 XNXLOOP L 10,PCBNPTG . LOOK AT NEXT PCB 08890000
0008D0 D507 A000 2000 00000 00000 1005 CLC PCBNAME,XNXNAME . HAS IT THE RIGHT NAME? 08900000
0008D6 4780 101A 008E4 1006 BE XNXFOUND . IF YES, OH JOY. 08910000
0008DA 19AF 1007 CR 10,15 . IF NOT, ARE WE THROUGH? 08920000
0008DC 4770 1002 008CC 1008 BNE XNXLOOP . IF NOT, TRY THE NEXT PCB 08930000
0008E0 41A0 0000 00000 1009 LA 10,0 . ELSE, IT'S NOT HERE 08940000
0008E4 50A0 2008 00008 1010 XNXFOUND ST 10,XNXADDR . FOUND IT. SAY WHERE. 08950000
0008E8 8200 04D8 004D8 1011 LPSW RETURN . AND RETURN 08960000
1012 DROP 2,10 08970000
R:F 00000 1013 USING PCB,15 08980000
1 Sample Operating System Version 2.00 Page 29
Active Usings: PROGRAM,R0 PROGRAM+X'8CA',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1015 *********************************************************************** 09000000
1016 * * 09010000
1017 * XR ROUTINE * 09020000
1018 * * 09030000
1019 * FUNCTION: TO READ A MESSAGE * 09040000
1020 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XRX * 09050000
1021 * XRX DS 0D * 09060000
1022 * XRXNAME DS CL8 NAME OF SENDER PROCESS * 09070000
1023 * XRXSIZE DS F SIZE OF MESSAGE TEXT * 09080000
1024 * XRXTEXT DS C TEXT OF MESSAGE * 09090000
1025 * ROUTINES USED: XP, XEXC, XN, XCOM, XF * 09100000
1026 * PROCEDURE: USE XP ON MESSAGE SEMAPHORE RECEIVER TO SEE IF ANY * 09110000
1027 * MESSAGES WAITING; IF NONE, PROCESS BLOCKED UNTIL * 09120000
1028 * THERE IS ONE; LOCK MESSAGE CHAIN; REMOVE A MESSAGE * 09130000
1029 * FROM CHAIN AND UNLOCK IT; MOVE TEXT OF MESSAGE, * 09140000
1030 * PADDING WITH BLANKS OR TRUNCATING AS NECESSARY; * 09150000
1031 * INDICATE CORRECT MESSAGE LENGTH AND NAME OF * 09160000
1032 * MESSAGE SENDER; FREE STORAGE USED TO HOLD MESSAGE, * 09170000
1033 * AND RETURN. * 09180000
1034 * ERROR CHECKS: NONE * 09190000
1035 * INTERRUPTS: ON * 09200000
1036 * USER ACCESS: YES * 09210000
1037 * * 09220000
1038 *********************************************************************** 09230000
0 008EC 1040 XR EQU * . THE XR ROUTINE: READ A MESSAGE 09250000
R:1 008EC 1041 USING *,1 09260000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1041 in /mbhfs/sos4k.asm on volume:
0008EC 1872 1042 LR 7,2 09270000
R:7 00000 1043 USING XRX,7 . ARG LIST 09280000
0008EE 4120 F024 00024 1044 LA 2,PCBMSR . SEE IF MESSAGES WAITING 09290000
0008F2 0AD7 1045 SVC C'P' 09300000
0008F4 0A5A 1046 SVC C'!' . ENTER SMC SECTION 09310000
0008F6 4120 F01C 0001C 1047 LA 2,PCBMSC . THEN LOCK THE MESSAGE CHAIN 09320000
0008FA 0AD7 1048 SVC C'P' 09330000
0008FC 5850 F02C 0002C 1049 L 5,PCBFM . GET THE FIRST MESSAGE 09340000
R:5 00000 1050 USING MSG,5 09350000
000900 D203 F02C 5004 0002C 00004 1051 MVC PCBFM,MSGNEXT . REMEMBER THE NEXT 09360000
000906 0AE5 1052 SVC C'V' . UNLOCK THE MESSAGE CHAIN 09370000
000908 5860 7008 00008 1053 L 6,XRXSIZE . GET THE BUFFER CAPACITY 09380000
00090C 5B60 1584 00E70 1054 S 6,=F'2' . MINUS 1, MINUS 1 09390000
000910 9240 700C 0000C 1055 MVI XRXTEXT,C' ' . MOVE IN A BLANK 09400000
000914 4740 1030 0091C 1056 BM XRNOB 09410000
000918 4460 1080 0096C 1057 EX 6,XRFILL . THEN FILL THE REST WITH BLANKS 09420000
00091C 4166 0001 00001 1058 XRNOB LA 6,1(6) . THEN GET PROPER BUFFER COUNT 09430000
000920 5960 5008 00008 1059 C 6,MSGSIZE . COMPARE WITH MESSAGE LENGTH 09440000
000924 4740 1042 0092E 1060 BL XRTHEN . IF LESS, HANDLE ACCORDINGLY 09450000
000928 5860 5008 00008 1061 L 6,MSGSIZE . ELSE COUNT FOR MVC IS MESSAGE 09460000
00092C 0660 1062 BCTR 6,0 . SIZE MINUS ONE 09470000
00092E 1266 1063 XRTHEN LTR 6,6 . ANY CHARACTERS TO MOVE? 09480000
000930 4740 104C 00938 1064 BM XRAFT . IF NOT, DON'T 09490000
000934 4460 1086 00972 1065 EX 6,XRMOVE . ELSE MOVE THEM 09500000
000938 4166 0001 00001 1066 XRAFT LA 6,1(6) . THEN GET LENGTH 09510000
00093C 5060 7008 00008 1067 ST 6,XRXSIZE . STORE IT 09520000
1 Sample Operating System Version 2.00 Page 30
Active Usings: PROGRAM,R0 PROGRAM+X'8EC',R1 MSG,R5 XRX,R7 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000940 58A0 5000 00000 1068 L 10,MSGSENDR . GET SENDER'S PCB 09530000
1069 DROP 15 09540000
R:A 00000 1070 USING PCB,10 09550000
000944 D207 7000 A000 00000 00000 1071 MVC XRXNAME,PCBNAME . AND STORE SENDER'S NAME 09560000
00094A 5860 5008 00008 1072 L 6,MSGSIZE . GET SIZE OF MESSAGE TEXT 09570000
00094E 4166 000C 0000C 1073 LA 6,LENMSG(6) . ADD SIZE OF MESSAGE BLOCK 09580000
000952 4166 0007 00007 1074 LA 6,7(6) . AND TRUNCATE 09590000
000956 5460 1580 00E6C 1075 N 6,=F'-8' . UP 09600000
00095A 1825 1076 LR 2,5 . SET UP POINTER TO XFX 09610000
R:2 00000 1077 USING XFX,2 09620000
00095C 5050 2004 00004 1078 ST 5,XFXADDR . STORE ADDRESS 09630000
000960 5060 2000 00000 1079 ST 6,XFXSIZE . STORE SIZE 09640000
000964 0AC6 1080 SVC C'F' . AND FREE THE MESSAGE BLOCK 09650000
000966 0A6B 1081 SVC C',' . LEAVE SMC 09660000
000968 8200 04D8 004D8 1082 LPSW RETURN . AND RETURN 09670000
00096C D200 700D 700C 0000D 0000C 1083 XRFILL MVC XRXTEXT+1,XRXTEXT . FILL WITH BLANKS 09680000
000972 D200 700C 500C 0000C 0000C 1084 XRMOVE MVC XRXTEXT,MSGTEXT . MOVE TEXT 09690000
1085 DROP 2,5,7,10 09700000
R:F 00000 1086 USING PCB,15 09710000
-
1088 *********************************************************************** 09730000
1089 * * 09740000
1090 * XS ROUTINE * 09750000
1091 * * 09760000
1092 * FUNCTION: TO SEND A MESSAGE * 09770000
1093 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XSX * 09780000
1094 * XSX DS 0D * 09790000
1095 * XSXNAME DS CL8 NAME OF TARGET PROCESS * 09800000
1096 * XSXSIZE DS F SIZE OF TEXT * 09810000
1097 * XSXTEXT DS C TEXT OF MESSAGE * 09820000
1098 * ROUTINES USED: XP, XV, XEXC, XCOM, XA, XQUE * 09830000
1099 * PROCEDURE: USE XN TO GET POINTER TO PCB OF TARGET PROCESS; * 09840000
1100 * USE LENGTH OF MESSAGE AND XA TO ALLOCATE BLOCK FOR * 09850000
1101 * MESSAGE; LOCK MESSAGE CHAIN OF TARGET PROCESS; * 09860000
1102 * PUT MESSAGE BLOCK AT END OF CHAIN; STORE SENDER * 09870000
1103 * NAME, SIZE, AND TEXT OF MESSAGE; UNLOCK CHAIN; * 09880000
1104 * INDICATE MESSAGE CHAIN IS ONE LONGER; RETURN. * 09890000
1105 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, ENTER XQUE. * 09900000
1106 * INTERRUPTS: ON * 09910000
1107 * USER ACCESS: YES * 09920000
1108 * * 09930000
1109 *********************************************************************** 09940000
0 00978 1111 XS EQU * . THE XS ROUTINE: SEND MESSAGES 09960000
R:1 00978 1112 USING *,1 09970000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1112 in /mbhfs/sos4k.asm on volume:
000978 1872 1113 LR 7,2 09980000
R:7 00000 1114 USING XSX,7 . ARG LIST 09990000
00097A 4120 E048 00048 1115 LA 2,SATEMP . READY TO CALL OUT 10000000
R:2 00000 1116 USING XNX,2 . ABOUT TO CALL XN 10010000
00097E D207 2000 7000 00000 00000 1117 MVC XNXNAME,XSXNAME . GIVE NAME OF TARGET PROCESS 10020000
000984 0AD5 1118 SVC C'N' . SEE WHERE IT IS 10030000
1 Sample Operating System Version 2.00 Page 31
Active Usings: PROGRAM,R0 PROGRAM+X'978',R1 XNX,R2 XSX,R7 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000986 5840 2008 00008 1119 L 4,XNXADDR . GET THE POINTER 10040000
00098A 1244 1120 LTR 4,4 . IS THERE INDEED ONE? 10050000
00098C 4780 108A 00A02 1121 BZ XSERR . IF NOT, ERROR 10060000
R:4 00000 1122 USING PCB,4 10070000
** ASMA300W USING overridden by a prior active USING on statement number 1086
** ASMA435I Record 1122 in /mbhfs/sos4k.asm on volume:
1123 DROP 2,15 10080000
R:2 00000 1124 USING XAX,2 . READY TO CALL XA 10090000
000990 0A5A 1125 SVC C'!' . ENTERING SMC SECTION 10100000
000992 5830 7008 00008 1126 L 3,XSXSIZE . GET THE STATED SIZE 10110000
000996 4133 000C 0000C 1127 LA 3,LENMSG(3) . PLUS THE AMOUNT OF OVERHEAD 10120000
00099A 4133 0007 00007 1128 LA 3,7(3) . AND TRUNCATE 10130000
00099E 5430 14F4 00E6C 1129 N 3,=F'-8' . UP 10140000
0009A2 5030 2000 00000 1130 ST 3,XAXSIZE . THAT'S THE SIZE OF THE REGION TO 10150000
0009A6 D203 2008 14F0 00008 00E68 1131 MVC XAXALGN,=F'8' . ALLOCATE, ON A DOUBLEWORD BOUND 10160000
0009AC 0AC1 1132 SVC C'A' . SO ALLOCATE ALREADY 10170000
0009AE 5850 2004 00004 1133 L 5,XAXADDR . GET THE ADDRESS 10180000
1134 DROP 2 10190000
0009B2 4120 401C 0001C 1135 LA 2,PCBMSC . GET THE MESSAGE CHAIN SEMAPHORE 10200000
0009B6 0AD7 1136 SVC C'P' . AND LOCK IT 10210000
0009B8 4180 402C 0002C 1137 LA 8,PCBFM . THEN START DOWN THE MESSAGE 10220000
0009BC 5890 402C 0002C 1138 L 9,PCBFM . CHAIN 10230000
R:9 00000 1139 USING MSG,9 10240000
0009C0 1299 1140 XSLOOP LTR 9,9 . ARE WE THROUGH? 10250000
0009C2 4780 105A 009D2 1141 BZ XSADD . IF SO ADD IT ON 10260000
0009C6 4180 9004 00004 1142 LA 8,MSGNEXT . IF NOT, ON TO THE NEXT 10270000
0009CA 5890 9004 00004 1143 L 9,MSGNEXT 10280000
0009CE 47F0 1048 009C0 1144 B XSLOOP . AND TRY AGAIN 10290000
0009D2 5058 0000 00000 1145 XSADD ST 5,0(8) . CHAIN OURS ON THE END 10300000
1146 DROP 9 10310000
R:5 00000 1147 USING MSG,5 10320000
0009D6 D203 5004 14E8 00004 00E60 1148 MVC MSGNEXT,=A(0) . SET NEXT POINTER NULL 10330000
0009DC 50F0 5000 00000 1149 ST 15,MSGSENDR . STORE THE SENDER 10340000
0009E0 5860 7008 00008 1150 L 6,XSXSIZE . GET THE TEXT LENGTH 10350000
0009E4 5060 5008 00008 1151 ST 6,MSGSIZE . AND STORE IT 10360000
0009E8 0660 1152 BCTR 6,0 . ONE LESS 10370000
0009EA 1266 1153 LTR 6,6 . TEST LENGTH 10380000
0009EC 4740 107C 009F4 1154 BM XSAFT . IF ZERO, NOTHING TO MOVE 10390000
0009F0 4460 108C 00A04 1155 EX 6,XSMOVE . ELSE, MOVE IT 10400000
0009F4 0AE5 1156 XSAFT SVC C'V' . UNLOCK THE MESSAGE CHAIN 10410000
0009F6 4120 4024 00024 1157 LA 2,PCBMSR . THEN SAY THERE'S 10420000
0009FA 0AE5 1158 SVC C'V' . ONE MORE MESSAGE 10430000
0009FC 0A6B 1159 SVC C',' . LEAVE SMC SECTION 10440000
0009FE 8200 04D8 004D8 1160 LPSW RETURN . AND RETURN 10450000
000A02 0A6F 1161 XSERR SVC C'?' 10460000
000A04 D200 500C 700C 0000C 0000C 1162 XSMOVE MVC MSGTEXT,XSXTEXT . THE MOVE FOR THE TEXT 10470000
1163 DROP 4,5,7 10480000
R:F 00000 1164 USING PCB,15 10490000
1 Sample Operating System Version 2.00 Page 32
Active Usings: PROGRAM,R0 PROGRAM+X'978',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1166 *********************************************************************** 10510000
1167 * * 10520000
1168 * XY ROUTINE * 10530000
1169 * * 10540000
1170 * FUNCTION: TO START A PROCESS * 10550000
1171 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XYX * 10560000
1172 * XYX DS 0D * 10570000
1173 * XYXNAME DS CL8 NAME OF PROCESS TO BE STARTED * 10580000
1174 * XYXADDR DS A STARTING ADDRESS OF PROCESS * 10590000
1175 * ROUTINES USED: XN, XEXC, XCOM, XQUE * 10600000
1176 * PROCEDURE: USE XN TO GET POINTER TO THE PCB OF PROCESS TO BE * 10610000
1177 * STARTED; STORE IN PCB INTERRUPT SAVE AREA REGISTERS* 10620000
1178 * AND PSW WITH STARTING ADDRESS AS SENT FROM STARTING* 10630000
1179 * PROCESS; STOPPED BIT TURNED OFF; RETURN. * 10640000
1180 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, XQUE ENTERED. * 10650000
1181 * INTERRUPTS: OFF * 10660000
1182 * USER ACCESS: YES * 10670000
1183 * * 10680000
1184 *********************************************************************** 10690000
0 00A0A 1186 XY EQU * . THE XY ROUTINE: START A PROCESS 10710000
R:1 00A0A 1187 USING *,1 10720000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1187 in /mbhfs/sos4k.asm on volume:
000A0A 1872 1188 LR 7,2 10730000
R:7 00000 1189 USING XYX,7 . THE ARG LIST 10740000
000A0C 4120 E048 00048 1190 LA 2,SATEMP . READY TO CALL OUT 10750000
R:2 00000 1191 USING XNX,2 10760000
000A10 D207 2000 7000 00000 00000 1192 MVC XNXNAME,XYXNAME . GIVE XN A NAME 10770000
000A16 0AD5 1193 SVC C'N' . CALL XN 10780000
000A18 58A0 2008 00008 1194 L 10,XNXADDR . WHERE IS THE PCB? 10790000
000A1C 12AA 1195 LTR 10,10 . OR IS THERE ONE? 10800000
000A1E 4780 1036 00A40 1196 BZ XYERR . IF NOT, OH HISS BOO 10810000
1197 DROP 2,14,15 10820000
R:A 00000 1198 USING PCB,10 10830000
000A22 41D0 A04C 0004C 1199 LA 13,PCBISA . GET INTO THAT PCB'S ISA 10840000
R:D 00000 1200 USING SA,13 10850000
000A26 D207 D000 E000 00000 00000 1201 MVC SAPSW,(SAPSW-SA)(14) . GIVE IT THE CALLER'S PSW 10860000
000A2C D202 D005 7009 00005 00009 1202 MVC SAPSW+5(3),XYXADDR+1 . BUT AT THE REQUESTED ADDRESS 10870000
000A32 D23F D008 E008 00008 00008 1203 MVC SAREGS,(SAREGS-SA)(14) .GIVE IT HIS REGISTERS 10880000
000A38 9200 A018 00018 1204 MVI PCBSTOPT,X'00' . IT'S NO LONGER STOPPED 10890000
000A3C 8200 04D8 004D8 1205 LPSW RETURN . AND RETURN 10900000
000A40 0A6F 1206 XYERR SVC C'?' . WE DONE BAD 10910000
1207 DROP 7,10,13 10920000
R:E 00000 1208 USING SA,14 10930000
R:F 00000 1209 USING PCB,15 10940000
1 Sample Operating System Version 2.00 Page 33
Active Usings: PROGRAM,R0 PROGRAM+X'A0A',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1211 *********************************************************************** 10960000
1212 * * 10970000
1213 * XZ ROUTINE * 10980000
1214 * * 10990000
1215 * FUNCTION: TO STOP A PROCESS * 11000000
1216 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XZX * 11010000
1217 * XZX DS 0D * 11020000
1218 * XZXNAME DS CL8 NAME OF PROCESS TO BE STOPPED * 11030000
1219 * ROUTINES USED: XN, XEXC, XCOM, XQUE, XP * 11040000
1220 * PROCEDURE: CHECK THAT USER PROCESS CAN'T STOP SYSTEM * 11050000
1221 * PROCESS; USE XN TO GET PCB POINTER; IF IN SMC, SET * 11060000
1222 * STOP WAITING BIT AND BLOCK SELF UNTIL STOP * 11070000
1223 * PERFORMED; ELSE SET STOPPED BIT, AND RETURN. * 11080000
1224 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME OR USER TRIES TO * 11090000
1225 * STOP A SYSTEM PROCESS, XQUE ENTERED. * 11100000
1226 * INTERRUPTS: ON * 11110000
1227 * USER ACCESS: YES * 11120000
1228 * * 11130000
1229 *********************************************************************** 11140000
0 00A42 1231 XZ EQU * . THE XZ ROUTINE: STOP A PROCESS 11160000
R:1 00A42 1232 USING *,1 11170000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1232 in /mbhfs/sos4k.asm on volume:
000A42 1872 1233 LR 7,2 11180000
R:7 00000 1234 USING XZX,7 . ARG LIST 11190000
000A44 955C F000 00000 1235 CLI PCBNAME,C'*' . IS STOPPER A * PROCESS 11200000
000A48 4780 1012 00A54 1236 BE XZFINE . THAT'S OK 11210000
000A4C 955C 7000 00000 1237 CLI XZXNAME,C'*' . IF NOT, IS STOPPEE A * ? 11220000
000A50 4780 104A 00A8C 1238 BE XZERR . CAN'T DO THAT 11230000
000A54 4120 E048 00048 1239 XZFINE LA 2,SATEMP . READY TO CALL OUT 11240000
R:2 00000 1240 USING XNX,2 . WILL CALL XN 11250000
000A58 D207 2000 7000 00000 00000 1241 MVC XNXNAME,XZXNAME . GIVE IT THE NAME 11260000
000A5E 0AD5 1242 SVC C'N' . AND DO THE CALL 11270000
000A60 58A0 2008 00008 1243 L 10,XNXADDR . GET THE PCB'S ADDRESS 11280000
000A64 12AA 1244 LTR 10,10 . SEE IF NULL 11290000
000A66 4780 104A 00A8C 1245 BZ XZERR . IF SO, ERROR 11300000
000A6A 0A5A 1246 SVC C'!' . ENTER SMC 11310000
1247 DROP 2,15 11320000
R:A 00000 1248 USING PCB,10 11330000
000A6C 9500 A01A 0001A 1249 XZSTOP CLI PCBINSMC,X'00' . SEE IF IN SMC 11340000
000A70 4770 103C 00A7E 1250 BNE XZINSMC . IF SO, BAD 11350000
000A74 92FF A018 00018 1251 MVI PCBSTOPT,X'FF' . ELSE JUST STOP IT 11360000
000A78 0A6B 1252 SVC C',' . LEAVE SMC 11370000
000A7A 8200 04D8 004D8 1253 LPSW RETURN . AND RETURN 11380000
000A7E 92FF A01B 0001B 1254 XZINSMC MVI PCBSW,X'FF' . IF IN SMC, SAY STOP WAITING 11390000
000A82 4120 A034 00034 1255 LA 2,PCBSRS . AND STOP OURSELVES AGAINST 11400000
000A86 0AD7 1256 SVC C'P' . A SEMAPHORE 11410000
000A88 47F0 102A 00A6C 1257 B XZSTOP . THEN WE CAN REALLY STOP IT 11420000
000A8C 0A6F 1258 XZERR SVC C'?' . AN ERROR 11430000
1259 DROP 10,7 11440000
R:F 00000 1260 USING PCB,15 11450000
1 Sample Operating System Version 2.00 Page 34
Active Usings: PROGRAM,R0 PROGRAM+X'A42',R1 SA,R14 PCB,R15
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1262 *********************************************************************** 11470000
1263 * * 11480000
1264 * XQUE ROUTINE * 11490000
1265 * * 11500000
1266 * FUNCTION: TO SIGNAL ERROR CONDITION * 11510000
1267 * DATABASES: NONE * 11520000
1268 * ROUTINES USED: XR, XS * 11530000
1269 * PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 11540000
1270 * INDICATING ABNORMAL TERMINATION; TRY TO READ * 11550000
1271 * MESSAGES, FOREVER LOOPING; BLOCK ITSELF, THEREBY * 11560000
1272 * NEVER RETURNING. * 11570000
1273 * ERROR CHECKS: NONE * 11580000
1274 * INTERRUPTS: OFF * 11590000
1275 * USER ACCESS: YES * 11600000
1276 * * 11610000
1277 *********************************************************************** 11620000
0 00A8E 1279 XQUE EQU * . THE XQUE ROUTINE: ERROR! 11640000
R:1 00A8E 1280 USING *,1 11650000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1280 in /mbhfs/sos4k.asm on volume:
000A8E 4120 1012 00AA0 1281 LA 2,XQUEM1 . SEND AN ERROR MESSAGE TO *IBSUP 11660000
000A92 0AE2 1282 SVC C'S' 11670000
000A94 4120 102A 00AB8 1283 XQUELOOP LA 2,XQUEM2 . WAIT FOR REPLY 11680000
000A98 0AD9 1284 SVC C'R' 11690000
000A9A 47F0 1006 00A94 1285 B XQUELOOP . BUT IGNORE IT 11700000
000AA0 1286 DS 0F 11710000
000AA0 5CC9C2E2E4D74040 1287 XQUEM1 DC CL8'*IBSUP' 11720000
000AA8 0000000C 1288 DC F'12' 11730000
000AAC D7D9D6C7D9C1D440 1289 DC CL12'PROGRAM FLOP' 11740000
000AB8 1290 XQUEM2 DS CL8 11750000
000AC0 00000001 1291 DC F'1' 11760000
000AC4 1292 DS CL1,0H 11770000
1293 DROP 14,15 11780000
1 Sample Operating System Version 2.00 Page 35
Active Usings: PROGRAM,R0 PROGRAM+X'A8E',R1
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1295 *********************************************************************** 11800000
1296 * * 11810000
1297 * INPUT/OUTPUT ROUTINES * 11820000
1298 * * 11830000
1299 *********************************************************************** 11840000
0 1301 *********************************************************************** 11860000
1302 * * 11870000
1303 * SYSTEM SUPPLIED DEVICE HANDLER FOR READERS * 11880000
1304 * * 11890000
1305 *********************************************************************** 11900000
0 00AC6 1307 RDRHANDL EQU * . THE READER HANDLER 11920000
R:3 00000 1308 USING UCB,3 . STARTED WITH REG3 -> UCB 11930000
000AC6 0510 1309 BALR 1,0 11940000
R:1 00AC8 1310 USING *,1 . ESTABLISH ADDRESSING 11950000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1310 in /mbhfs/sos4k.asm on volume:
000AC8 4120 1160 00C28 1311 LA 2,RDRHSEM . LOCK OURSELVES UNTIL WE SET UP 11960000
000ACC 0AD7 1312 SVC C'P' . AN AUTOMATIC STORAGE AREA 11970000
000ACE 4120 1174 00C3C 1313 LA 2,RDRHAAS . READY TO ALLOCATE 11980000
R:2 00000 1314 USING XAX,2 11990000
000AD2 0AC5 1315 SVC C'E' . ALLOCATE 12000000
000AD4 58C0 2004 00004 1316 L 12,XAXADDR . GET A PTR 12010000
1317 DROP 2 12020000
000AD8 4120 1160 00C28 1318 LA 2,RDRHSEM . AND UNBLOCK OURSELVES 12030000
000ADC 0AE5 1319 SVC C'V' 12040000
000ADE 8840 0010 00010 1320 SRL 4,16 . SHIFT KEY 12050000
000AE2 1BAA 1321 SR 10,10 . CLEAR REG 10 12060000
R:C 00000 1322 USING RDRHAS,12 . AUTOMATIC AREA 12070000
000AE4 9200 C07A 0007A 1323 MVI JOBBIT,X'00' . INITIALIZE 12080000
000AE8 4160 C000 00000 1324 LA 6,RDRHCCB . GET PTR TO CCB 12090000
000AEC 4120 C008 00008 1325 RDRHLOOP LA 2,RDRHMSG . TRY TO READ A MESSAGE 12100000
R:2 00000 1326 USING XRX,2 12110000
000AF0 D203 2008 13A0 00008 00E68 1327 MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARS 12120000
000AF6 0AD9 1328 SVC C'R' . READ IT 12130000
000AF8 D503 13AC 200C 00E74 0000C 1329 CLC =C'READ',XRXTEXT . IF FIRST WORD IS READ, OK 12140000
000AFE 4770 1024 00AEC 1330 BNE RDRHLOOP . ELSE IGNORE 12150000
000B02 5850 2010 00010 1331 L 5,XRXTEXT+4 . GET 2ND WORD OF TEXT 12160000
1332 DROP 2 12170000
000B06 4120 3004 00004 1333 LA 2,UCBUS . LOCK THE UCB AND IT'S UNIT 12180000
000B0A 0AD7 1334 SVC C'P' 12190000
000B0C 4120 C008 00008 1335 LA 2,RDRHMSG . RESET ADDRESSING POINTER 12200000
R:2 00000 1336 USING XRX,2 12210000
000B10 95FF C07A 0007A 1337 CLI JOBBIT,X'FF' . HAVE WE JUST READ $JOB CARD? 12220000
000B14 4770 1066 00B2E 1338 BNE RDRHMORE . IF NO, GO CHECK PROTECTION, ELSE 12230000
000B18 955C 2000 00000 1339 CLI XRXNAME,C'*' . IS JSP CALLING US? 12240000
000B1C 4770 10F8 00BC0 1340 BNE RDRHNO . IF NOT, TELL HIM NO. 12250000
000B20 D24F 5000 C01C 00000 0001C 1341 MVC 0(80,5),RDRHTEMP . IF IT IS, GIVE JSP THE $JOB CARD 12260000
000B26 9200 C07A 0007A 1342 MVI JOBBIT,X'00' . SAY WE DON'T HAVE $JOB WAITING 12270000
000B2A 47F0 1114 00BDC 1343 B RDRHSOK . AND SEND MESSAGE BACK 12280000
1344 DROP 2 12290000
000B2E 955C C008 00008 1345 RDRHMORE CLI RDRHMSG,C'*' . IS SYSTEM CALLING? 12300000
000B32 4780 1098 00B60 1346 BE RDRHPOK . THEN PROTECTION OK, ELSE 12310000
000B36 18B5 1347 LR 11,5 . GET ADDRESS THAT'S TO HOLD CARD, 12320000
1 Sample Operating System Version 2.00 Page 36
Active Usings: PROGRAM,R0 PROGRAM+X'AC8',R1 UCB,R3 RDRHAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000B38 54B0 116C 00C34 1348 N 11,PROTCON1 . get the page boundary 12330002
1349 * ISKE 10,11 . find storage key 12334002
000B3C B22900AB 1350 DC X'B22900AB' Assembler (XF) doesn't support ISKE 12338002
000B40 54A0 1170 00C38 1351 N 10,PROTCON2 . ignore low order bits 12342002
000B44 19A4 1352 CR 10,4 . DOES IT MATCH OURS? 12350000
000B46 4770 10F8 00BC0 1353 BNE RDRHNO . IF NOT, TELL HIM NO 12360000
000B4A 41B5 004F 0004F 1354 LA 11,79(5) . CHECK LAST BYTE ADDR OF CARD 12370000
000B4E 54B0 116C 00C34 1355 N 11,PROTCON1 . get the page boundary 12380002
1356 * ISKE 10,11 . find storage key 12384002
000B52 B22900AB 1357 DC X'B22900AB' Assembler (XF) doesn't support ISKE 12388002
000B56 54A0 1170 00C38 1358 N 10,PROTCON2 . ignore low order bits 12392002
000B5A 19A4 1359 CR 10,4 . DOES IT MATCH OURS? 12400000
000B5C 4770 10F8 00BC0 1360 BNE RDRHNO . IF NOT, TELL HIM NO 12410000
000B60 5450 1168 00C30 1361 RDRHPOK N 5,CCBCON1 . MAKE ADDRESS INTO 12420000
000B64 5050 C000 00000 1362 ST 5,RDRHCCB . A CCW (OR CCB) 12430000
000B68 9602 C000 00000 1363 OI RDRHCCB,X'02' 12440000
000B6C D203 C004 13B0 00004 00E78 1364 MVC RDRHCCB+4,=F'80' . WE'LL READ EIGHTY CHARACTERS 12450000
000B72 D203 3014 1398 00014 00E60 1365 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 12460000
000B78 D203 3018 1398 00018 00E60 1366 MVC UCBCSW+4(4),=A(0) 12470000
000B7E 4120 0194 00194 1367 LA 2,CAWSEM . LOCK THE CAW 12480000
000B82 0AD7 1368 SVC C'P' 12490000
000B84 5060 0048 00048 1369 ST 6,CAW . THAT'S THE CAW 12500000
000B88 5870 3000 00000 1370 L 7,UCBADDR . GET THE UNIT ADDRESS 12510000
000B8C 9C00 7000 00000 1371 SIO 0(7) . START THE I/O 12520000
000B90 4770 1154 00C1C 1372 BNZ RDSTATUS . BRANCH IF SIO UNSUCCESSFUL 12530000
000B94 0AE5 1373 SVC C'V' . THEN UNLOCK THE CAW 12540000
000B96 4120 300C 0000C 1374 RDRHWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 12550000
000B9A 0AD7 1375 SVC C'P' 12560000
000B9C 9185 3018 00018 1376 TM UCBCSW+4,X'85' . CHECK THE STATUS 12570003
000BA0 4780 10CE 00B96 1377 BZ RDRHWAIT . IF NOT FINISHED, WAIT 12580000
000BA4 9101 3018 00018 1378 TM UCBCSW+4,X'01' . CHECK FOR EXCEPTION 12590000
000BA8 4710 10F0 00BB8 1379 BO RDRHEXC . if yes, ignore this interrupt 12600003
000BAC 9180 3018 00018 1380 TM UCBCSW+4,X'80' . if no, check for attention 12602003
000BB0 4710 1098 00B60 1381 BO RDRHPOK . if yes, try to restart the I/O 12604003
000BB4 47F0 1102 00BCA 1382 B RDRHOK . else, all is groovy 12606003
000BB8 94FE 3018 00018 1383 RDRHEXC NI UCBCSW+4,X'FE' . clear exception .. 12608003
000BBC 47F0 10CE 00B96 1384 B RDRHWAIT . .. and continue waiting 12610003
000BC0 D201 C078 13CC 00078 00E94 1385 RDRHNO MVC RDRHM+12(2),=C'NO' . message back is no 12612003
000BC6 47F0 111A 00BE2 1386 B RDRHSEND . GET READY TO SEND 12620000
000BCA 955C C008 00008 1387 RDRHOK CLI RDRHMSG,C'*' . IS THE SYSTEM CALLING? 12630000
000BCE 4780 1114 00BDC 1388 BE RDRHSOK . THAT'S FINE. OTHERWISE, 12640000
000BD2 D504 13D0 5000 00E98 00000 1389 CLC =C'$JOB,',0(5) . WAS IT A $JOB CARD? 12650000
000BD8 4780 1136 00BFE 1390 BE ENDADATA . OOPS! WE HIT END OF DATA STREAM 12660000
000BDC D201 C078 13CE 00078 00E96 1391 RDRHSOK MVC RDRHM+12(2),=C'OK' .GROOVINESS MESSAGE 12670000
000BE2 D203 C074 13A8 00074 00E70 1392 RDRHSEND MVC RDRHM+8(4),=F'2' . SAY THERE ARE 2 CHARACTERS 12680000
000BE8 D207 C06C C008 0006C 00008 1393 MVC RDRHM+0(8),RDRHMSG+0 . SEND BACK TO SAME GUY 12690000
000BEE 4120 3004 00004 1394 LA 2,UCBUS . NOW UNLOCK UCB AND UNIT 12700000
000BF2 0AE5 1395 SVC C'V' 12710000
000BF4 4120 C06C 0006C 1396 LA 2,RDRHM . SET UP MESSAGE 12720000
000BF8 0AE2 1397 SVC C'S' . AND SEND IT 12730000
000BFA 47F0 1024 00AEC 1398 B RDRHLOOP 12740000
000BFE D201 C078 13CC 00078 00E94 1399 ENDADATA MVC RDRHM+12(2),=C'NO' . TELL USER NO MORE CARDS 12750000
000C04 D24F C01C 5000 0001C 00000 1400 MVC RDRHTEMP(80),0(5) . SAVE THE $JOB CARD 12760000
000C0A 9240 5000 00000 1401 MVI 0(5),C' ' . BLANK OUT THE USER'S COPY 12770000
000C0E D24E 5001 5000 00001 00000 1402 MVC 1(79,5),0(5) 12780000
1 Sample Operating System Version 2.00 Page 37
Active Usings: PROGRAM,R0 PROGRAM+X'AC8',R1 UCB,R3 RDRHAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000C14 92FF C07A 0007A 1403 MVI JOBBIT,X'FF' . INDICATE WE HAVE A NEW $JOB CARD 12790000
000C18 47F0 111A 00BE2 1404 B RDRHSEND . AND SEND THE MESSAGE BACK 12800000
000C1C 0AE5 1405 RDSTATUS SVC C'V' . UNLOCK THE CAW 12810000
000C1E 4120 300C 0000C 1406 LA 2,UCBWS . AND WAIT FOR AN INTERRUPT 12820000
000C22 0AD7 1407 SVC C'P' 12830000
000C24 47F0 1098 00B60 1408 B RDRHPOK . AND TRY TO RESTART THE I/O 12840000
1409 DROP 3,12 12850000
0000C28 0000000100000000 1411 RDRHSEM DC F'1,0' 12870000
000C30 00FFFFFF 1412 CCBCON1 DC X'00FFFFFF' MASK 12880000
000C34 00FFF000 1413 PROTCON1 DC X'00FFF000' page alignment 12890002
000C38 FFFFFFF0 1414 PROTCON2 DC X'FFFFFFF0' ignore low order bits 12893002
000C3C 00000080 1415 RDRHAAS DC A(LENRDRHA) ALLOCATE ARGLIST FOR STORAGE 12900000
000C40 00000000 1416 DC F'0' 12910000
000C44 00000008 1417 DC F'8' 12920000
-
1419 *********************************************************************** 12940000
1420 * * 12950000
1421 * SYSTEM SUPPLIED DEVICE HANDLER FOR PRINTERS * 12960000
1422 * * 12970000
1423 *********************************************************************** 12980000
0 00C48 1425 PRTHANDL EQU * . THE PRINTER HANDLER 13000000
R:3 00000 1426 USING UCB,3 . ENTERED WITH REG3 -> THE UCB 13010000
000C48 0510 1427 BALR 1,0 13020000
R:1 00C4A 1428 USING *,1 . ESTABLISH ADDRESSING 13030000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1428 in /mbhfs/sos4k.asm on volume:
000C4A 4120 1116 00D60 1429 LA 2,PRTHSEM . LOCK UNTIL ALLOCATE STORAGE 13040000
000C4E 0AD7 1430 SVC C'P' . 13050000
000C50 4120 111E 00D68 1431 LA 2,PRTHAAS . READY TO ALLOCATE 13060000
R:2 00000 1432 USING XAX,2 13070000
000C54 0AC5 1433 SVC C'E' . ALLOCATE 13080000
000C56 58C0 2004 00004 1434 L 12,XAXADDR . GET THE ADDRESS 13090000
1435 DROP 2 13100000
000C5A 4120 1116 00D60 1436 LA 2,PRTHSEM . 13110000
000C5E 0AE5 1437 SVC C'V' UNLOCK TO ROUTINE 13120000
000C60 8840 0010 00010 1438 SRL 4,16 . SHIFT KEY 13130000
000C64 1BAA 1439 SR 10,10 . CLEAR REG 10 13140000
R:C 00000 1440 USING PRTHAS,12 . ADDRESSING IN THE AUTO AREA 13150000
000C66 4160 C000 00000 1441 LA 6,PRTHCCB . MAKE A CAW 13160000
000C6A 4120 C008 00008 1442 PRTHLOOP LA 2,PRTHMSG . READY TO READ A MESSAGE 13170000
R:2 00000 1443 USING XRX,2 13180000
000C6E D203 2008 121E 00008 00E68 1444 MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARACTERS 13190000
000C74 0AD9 1445 SVC C'R' . READ IT 13200000
000C76 5850 2010 00010 1446 L 5,XRXTEXT+4 . LOAD THE ADDRESS 13210000
000C7A D503 1232 200C 00E7C 0000C 1447 CLC =C'PRIN',XRXTEXT . IS IT A PRIN REQUEST? 13220000
000C80 4780 1048 00C92 1448 BE PRTHPRIN 13230000
000C84 D503 1236 200C 00E80 0000C 1449 CLC =C'STC1',XRXTEXT . OR A SKIP REQUEST? 13240000
000C8A 4780 1096 00CE0 1450 BE PRTHSTC1 13250000
000C8E 47F0 1020 00C6A 1451 B PRTHLOOP . IF NEITHER, IGNORE 13260000
1452 DROP 2 13270000
000C92 4120 3004 00004 1453 PRTHPRIN LA 2,UCBUS 13280000
1 Sample Operating System Version 2.00 Page 38
Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 UCB,R3 PRTHAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000C96 0AD7 1454 SVC C'P' . LOCK THE UCB AND UNIT 13290000
000C98 955C C008 00008 1455 CLI PRTHMSG,C'*' . IS SYSTEM CALLING? 13300000
000C9C 4780 1080 00CCA 1456 BE PRTHPOK . THEN PROTECTION OK. ELSE 13310000
000CA0 18B5 1457 LR 11,5 . GET ADDRESS THAT'S TO HOLD MSG, 13320000
000CA2 54B0 0C34 00C34 1458 N 11,PROTCON1 . get the page boundary 13330002
1459 * ISKE 10,11 . find storage key 13334002
000CA6 B22900AB 1460 DC X'B22900AB' Assembler (XF) doesn't support ISKE 13338002
000CAA 54A0 0C38 00C38 1461 N 10,PROTCON2 . ignore low order bits 13342002
000CAE 19A4 1462 CR 10,4 . DOES IT MATCH OURS? 13350000
000CB0 4770 10DC 00D26 1463 BNE PRTHNO . IF NOT, TELL HIM NO 13360000
000CB4 41B5 0083 00083 1464 LA 11,131(5) . CHECK LAST BYTE ADDRESS OF LINE 13370000
000CB8 54B0 0C34 00C34 1465 N 11,PROTCON1 . get the page boundary 13380002
1466 * ISKE 10,11 . find storage key 13384002
000CBC B22900AB 1467 DC X'B22900AB' Assembler (XF) doesn't support ISKE 13388002
000CC0 54A0 0C38 00C38 1468 N 10,PROTCON2 . ignore low order bits 13392002
000CC4 19A4 1469 CR 10,4 . DOES IT MATCH OURS? 13400000
000CC6 4770 10DC 00D26 1470 BNE PRTHNO . IF NOT, TELL HIM NO 13410000
000CCA 5450 0C30 00C30 1471 PRTHPOK N 5,CCBCON1 . MAKE A WRITE REQUEST 13420000
000CCE 5050 C000 00000 1472 ST 5,PRTHCCB . FOR THE CCB 13430000
000CD2 9609 C000 00000 1473 OI PRTHCCB,X'09' . PRINT COMMAND CODE 13440000
000CD6 D203 C004 123A 00004 00E84 1474 MVC PRTHCCB+4,=F'132' . WE'LL PRINT 132 CHARACTERS 13450000
000CDC 47F0 10A2 00CEC 1475 B PRTHCOMM . BRANCH TO COMMON SECTION 13460000
000CE0 D207 C000 1206 00000 00E50 1476 PRTHSTC1 MVC PRTHCCB(8),=X'8900000020000001' SKIP TO TOP OF PAGE 13470000
000CE6 4120 3004 00004 1477 LA 2,UCBUS 13480000
000CEA 0AD7 1478 SVC C'P' . LOCK THE UCB AND UNIT 13490000
000CEC 4120 0194 00194 1479 PRTHCOMM LA 2,CAWSEM . LOCK THE CAW 13500000
000CF0 0AD7 1480 SVC C'P' 13510000
000CF2 5060 0048 00048 1481 ST 6,CAW . STORE OUR CAW 13520000
000CF6 D203 3014 1216 00014 00E60 1482 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 13530000
000CFC D203 3018 1216 00018 00E60 1483 MVC UCBCSW+4(4),=A(0) 13540000
000D02 5870 3000 00000 1484 L 7,UCBADDR . GET THE ADDRESS 13550000
000D06 9C00 7000 00000 1485 SIO 0(7) . START THE I/O 13560000
000D0A 4770 1108 00D52 1486 BNZ PTSTATUS . BRANCH IF SIO UNSUCCESSFUL 13570000
000D0E 0AE5 1487 SVC C'V' . AND UNLOCK THE CAW 13580000
000D10 4120 300C 0000C 1488 PRTHWAIT LA 2,UCBWS . START TO WAIT 13590000
000D14 0AD7 1489 SVC C'P' 13600000
000D16 9105 3018 00018 1490 TM UCBCSW+4,X'05' . IS THE UNIT READY? 13610000
000D1A 4780 10C6 00D10 1491 BZ PRTHWAIT . IF NOT, ITS STILL ON. WAIT 13620000
000D1E 9101 3018 00018 1492 TM UCBCSW+4,X'01' . WAS THERE AN EXCEPTION? 13630000
000D22 4780 10E6 00D30 1493 BZ PRTHOK . IF NOT, GOOD 13640000
000D26 D201 C028 124A 00028 00E94 1494 PRTHNO MVC PRTHM+12(2),=C'NO' .THERE WAS, SO SAY SO 13650000
000D2C 47F0 10EC 00D36 1495 B PRTHSEND 13660000
000D30 D201 C028 124C 00028 00E96 1496 PRTHOK MVC PRTHM+12(2),=C'OK' .NO ERRORS 13670000
000D36 D203 C024 1226 00024 00E70 1497 PRTHSEND MVC PRTHM+8(4),=F'2' . SENDING 2 CHARACTERS 13680000
000D3C D207 C01C C008 0001C 00008 1498 MVC PRTHM+0(8),PRTHMSG+0 . SEND TO OUR SENDER 13690000
000D42 4120 3004 00004 1499 LA 2,UCBUS 13700000
000D46 0AE5 1500 SVC C'V' . UNLOCK THE UCB 13710000
000D48 4120 C01C 0001C 1501 LA 2,PRTHM 13720000
000D4C 0AE2 1502 SVC C'S' . SEND IT 13730000
000D4E 47F0 1020 00C6A 1503 B PRTHLOOP . AND READ ANOTHER MESSAGE 13740000
000D52 0AE5 1504 PTSTATUS SVC C'V' . UNLOCK THE CAW 13750000
000D54 4120 300C 0000C 1505 LA 2,UCBWS . AND WAIT FOR THE INTERRUPT 13760000
000D58 0AD7 1506 SVC C'P' 13770000
000D5A 47F0 10A2 00CEC 1507 B PRTHCOMM . AND TRY TO RESTART THE I/O 13780000
1508 DROP 3,12 13790000
1 Sample Operating System Version 2.00 Page 39
Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000D5E 0000
000D60 0000000100000000 1510 PRTHSEM DC F'1,0' LOCK 13810000
000D68 00000030 1511 PRTHAAS DC A(LENPRTHA) XA ARG LIST FOR AUTO STORAGE 13820000
000D6C 00000000 1512 DC F'0' 13830000
000D70 00000008 1513 DC F'8' 13840000
1 Sample Operating System Version 2.00 Page 40
Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1515 *********************************************************************** 13860000
1516 * * 13870000
1517 * SYSTEM ROUTINE FOR USER SUPPLIED DEVICE HANDLER * 13880000
1518 * * 13890000
1519 *********************************************************************** 13900000
0 00D74 1521 EXCPHNDL EQU * . EXCP DEVICE HANDLER 13920000
R:3 00000 1522 USING UCB,3 . WILL HAVE REG3 -> UCB 13930000
000D74 0510 1523 BALR 1,0 13940000
R:1 00D76 1524 USING *,1 . ESTABLISH ADDRESSING 13950000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1524 in /mbhfs/sos4k.asm on volume:
000D76 4120 10C6 00E3C 1525 LA 2,EXCPHSEM . LOCK OURSELVES UNTIL WE HAVE 13960000
000D7A 0AD7 1526 SVC C'P' . SET UP AUTOMATIC STORAGE 13970000
000D7C 4120 10CE 00E44 1527 LA 2,EXCPHAAS . READY TO ALLOCATE 13980000
R:2 00000 1528 USING XAX,2 13990000
000D80 0AC5 1529 SVC C'E' . ALLOCATE 14000000
000D82 58C0 2004 00004 1530 L 12,XAXADDR . GET POINTER TO AUTO STORAGE 14010000
1531 DROP 2 14020000
000D86 4120 10C6 00E3C 1532 LA 2,EXCPHSEM . AND UNLOCK OURSELVES 14030000
000D8A 0AE5 1533 SVC C'V' UNLOCK TO ROUTINE 14040000
000D8C 184B 1534 LR 4,11 14050000
000D8E 8940 0008 00008 1535 SLL 4,8 . SHIFT KEY FOR CAW 14060000
R:C 00000 1536 USING EXCPHAS,12 . FOR ADDRESSING AUTO AREA 14070000
000D92 4120 C000 00000 1537 EXCPLOOP LA 2,EXCPHMSG . TRY TO READ A MESSAGE 14080000
R:2 00000 1538 USING XRX,2 14090000
000D96 D203 2008 1112 00008 00E88 1539 MVC XRXSIZE,=F'12' . WE'LL TAKE 12 CHARACTERS 14100000
000D9C 0AD9 1540 SVC C'R' 14110000
000D9E D503 1116 200C 00E8C 0000C 1541 CLC =C'EXCP',XRXTEXT . IS IT AN EXCP MESSAGE? 14120000
000DA4 4770 101C 00D92 1542 BNE EXCPLOOP . IF NOT, IGNORE IT 14130000
000DA8 5850 2010 00010 1543 L 5,XRXTEXT+4 . REG 5 CONTAINS CHAN AND DEV 14140000
000DAC 5860 2014 00014 1544 L 6,XRXTEXT+8 . REG 6 CONTAINS ADDR OF CCWS 14150000
1545 DROP 2 14160000
000DB0 4170 112E 00EA4 1546 LA 7,UCBTABLE . GET PTR TO UCB TABLE 14170000
000DB4 5957 0000 00000 1547 EXCPCOMP C 5,0(7) . COMPARE UNIT ADDRESS 14180000
000DB8 4780 1054 00DCA 1548 BE EXCPFIND . THAT'S THE UCB WE WANT 14190000
000DBC 4177 0020 00020 1549 LA 7,UCBLENG(7) . GET PTR TO NEXT UCB 14200000
000DC0 5970 111A 00E90 1550 C 7,=A(UCBTBEND) . ARE WE THROUGH WITH TABLE? 14210000
000DC4 4770 103E 00DB4 1551 BNE EXCPCOMP . IF NOT, LOOK SOME MORE 14220000
000DC8 0A6F 1552 SVC C'?' . ELSE ERROR 14230000
000DCA 1837 1553 EXCPFIND LR 3,7 . SET REG 3 TO UCB PTR 14240000
000DCC 4120 3004 00004 1554 LA 2,UCBUS 14250000
000DD0 0AD7 1555 SVC C'P' . LOCK THE UCB 14260000
000DD2 1664 1556 OR 6,4 . OR IN THE USER'S KEY 14270000
000DD4 D203 3014 10EA 00014 00E60 1557 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 14280000
000DDA D203 3018 10EA 00018 00E60 1558 MVC UCBCSW+4(4),=A(0) 14290000
000DE0 4120 0194 00194 1559 LA 2,CAWSEM 14300000
000DE4 0AD7 1560 SVC C'P' . LOCK CAW 14310000
000DE6 5060 0048 00048 1561 ST 6,CAW . STORE OUR CAW 14320000
000DEA 9C00 5000 00000 1562 SIO 0(5) . START THE I/O 14330000
000DEE 0AE5 1563 SVC C'V' . UNLOCK THE CAW 14340000
000DF0 4120 300C 0000C 1564 EXCPWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 14350000
000DF4 0AD7 1565 SVC C'P' 14360000
000DF6 D207 C024 3014 00024 00014 1566 MVC EXCPHM+12(8),UCBCSW . GIVE USER HIS CSW 14370000
000DFC D203 C020 1112 00020 00E88 1567 MVC EXCPHM+8(4),=F'12' 14380000
1 Sample Operating System Version 2.00 Page 41
Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 UCB,R3 EXCPHAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000E02 D207 C018 C000 00018 00000 1568 MVC EXCPHM(8),EXCPHMSG 14390000
000E08 4120 C018 00018 1569 LA 2,EXCPHM 14400000
000E0C 0AE2 1570 SVC C'S' . AND SENT THE MESSAGE 14410000
000E0E 4120 C000 00000 1571 LA 2,EXCPHMSG . AND WAIT FOR A REPLY 14420000
R:2 00000 1572 USING XRX,2 14430000
000E12 D203 2008 10F2 00008 00E68 1573 MVC XRXSIZE(4),=F'8' . FROM THE USER 14440000
000E18 0AD9 1574 SVC C'R' 14450000
000E1A D501 1120 200C 00E96 0000C 1575 CLC =C'OK',XRXTEXT . AM I DONE? 14460000
000E20 4780 10BA 00E30 1576 BE EXCPDONE 14470000
000E24 D504 1127 200C 00E9D 0000C 1577 CLC =C'AGAIN',XRXTEXT . DOES HE WANT ANOTHER CSW? 14480000
000E2A 4780 107A 00DF0 1578 BE EXCPWAIT 14490000
000E2E 0A6F 1579 SVC C'?' . WRONG MESSAGE 14500000
1580 DROP 2 14510000
000E30 4120 3004 00004 1581 EXCPDONE LA 2,UCBUS . UNLOCK UNIT 14520000
000E34 0AE5 1582 SVC C'V' 14530000
000E36 47F0 101C 00D92 1583 B EXCPLOOP . AND GET ANOTHER MESSAGE 14540000
1584 DROP 3,12 14550000
000E3A 0000
000E3C 0000000100000000 1585 EXCPHSEM DC F'1,0' 14560000
000E44 00000030 1586 EXCPHAAS DC A(LENEXCPA) . ALLOCATION OF AUTO STORAGE 14570000
000E48 00000000 1587 DC F'0' 14580000
000E4C 00000008 1588 DC F'8' 14590000
-
000E50 1590 LTORG 14610000
000E50 8900000020000001 1591 =X'8900000020000001'
000E58 00000001 1592 =F'1'
000E5C 00000600 1593 =A(XA)
000E60 00000000 1594 =A(0)
000E64 00000148 1595 =A(LENPCB)
000E68 00000008 1596 =F'8'
000E6C FFFFFFF8 1597 =F'-8'
000E70 00000002 1598 =F'2'
000E74 D9C5C1C4 1599 =C'READ'
000E78 00000050 1600 =F'80'
000E7C D7D9C9D5 1601 =C'PRIN'
000E80 E2E3C3F1 1602 =C'STC1'
000E84 00000084 1603 =F'132'
000E88 0000000C 1604 =F'12'
000E8C C5E7C3D7 1605 =C'EXCP'
000E90 00000FC4 1606 =A(UCBTBEND)
000E94 D5D6 1607 =C'NO'
000E96 D6D2 1608 =C'OK'
000E98 5BD1D6C26B 1609 =C'$JOB,'
000E9D C1C7C1C9D5 1610 =C'AGAIN'
1 Sample Operating System Version 2.00 Page 42
Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1612 *********************************************************************** 14630000
1613 * * 14640000
1614 * UNIT CONTROL BLOCKS * 14650000
1615 * * 14660000
1616 *********************************************************************** 14670000
0000EA4 1618 UCBTABLE DS 0F . TABLE OF UNIT CONTROL BLOCKS 14690000
1619 * UCB FOR READER 1 14700000
000EA4 00000012 1620 UCBRDR1 DC X'00000012' . DEVICE ADDRESS, 14710000
000EA8 0000000100000000 1621 DC F'1,0' . USER SEMAPHORE, 14720000
000EB0 0000000000000000 1622 DC F'0,0' . WAIT SEMAPHORE, 14730000
000EB8 0000000000000000 1623 DC F'0,0' . CHANNEL STATUS WORD 14740000
000EC0 00 1624 DC X'00' 14750000
000EC4 1625 DS 0F 14760000
1626 * UCB FOR PRINTER 1 14770000
000EC4 00000010 1627 UCBPRT1 DC X'00000010' . DEVICE ADDRESS, 14780000
000EC8 0000000100000000 1628 DC F'1,0' . USER SEMAPHORE, 14790000
000ED0 0000000000000000 1629 DC F'0,0' . WAIT SEMAPHORE, 14800000
000ED8 0000000000000000 1630 DC F'0,0' . CHANNEL STATUS WORD 14810000
000EE0 00 1631 DC X'00' 14820000
000EE4 1632 DS 0F 14830000
1633 * UCB FOR READER 2 14840000
000EE4 0000000C 1634 UCBRDR2 DC X'0000000C' . DEVICE ADDRESS, 14850000
000EE8 0000000100000000 1635 DC F'1,0' . USER SEMAPHORE, 14860000
000EF0 0000000000000000 1636 DC F'0,0' . WAIT SEMAPHORE, 14870000
000EF8 0000000000000000 1637 DC F'0,0' . CHANNEL STATUS WORD 14880000
000F00 00 1638 DC X'00' 14890000
000F04 1639 DS 0F 14900000
1640 * UCB FOR PRINTER 2 14910000
000F04 0000000E 1641 UCBPRT2 DC X'0000000E' . DEVICE ADDRESS, 14920000
000F08 0000000100000000 1642 DC F'1,0' . USER SEMAPHORE, 14930000
000F10 0000000000000000 1643 DC F'0,0' . WAIT SEMAPHORE, 14940000
000F18 0000000000000000 1644 DC F'0,0' . CHANNEL STATUS WORD 14950000
000F20 00 1645 DC X'00' 14960000
000F24 1646 DS 0F 14970000
1647 * UCB for READER 3 14970302
000F24 00000112 1648 UCBRDR3 DC X'00000112' . device address, 14970602
000F28 0000000100000000 1649 DC F'1,0' . user semaphore, 14970902
000F30 0000000000000000 1650 DC F'0,0' . wait semaphore, 14971202
000F38 0000000000000000 1651 DC F'0,0' . channel status word 14971502
000F40 00 1652 DC X'00' 14971802
000F44 1653 DS 0F 14972102
1654 * UCB for PRINTER 3 14972402
000F44 00000110 1655 UCBPRT3 DC X'00000110' . device address, 14972702
000F48 0000000100000000 1656 DC F'1,0' . user semaphore, 14973002
000F50 0000000000000000 1657 DC F'0,0' . wait semaphore, 14973302
000F58 0000000000000000 1658 DC F'0,0' . channel status word 14973602
000F60 00 1659 DC X'00' 14973902
000F64 1660 DS 0F 14974202
1661 * UCB for READER 4 14974502
000F64 0000010C 1662 UCBRDR4 DC X'0000010C' . device address, 14974802
000F68 0000000100000000 1663 DC F'1,0' . user semaphore, 14975102
000F70 0000000000000000 1664 DC F'0,0' . wait semaphore, 14975402
000F78 0000000000000000 1665 DC F'0,0' . channel status word 14975702
000F80 00 1666 DC X'00' 14976002
1 Sample Operating System Version 2.00 Page 43
Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0000F84 1667 DS 0F 14976302
1668 * UCB for PRINTER 4 14976602
000F84 0000010E 1669 UCBPRT4 DC X'0000010E' . device address, 14976902
000F88 0000000100000000 1670 DC F'1,0' . user semaphore, 14977202
000F90 0000000000000000 1671 DC F'0,0' . wait semaphore, 14977502
000F98 0000000000000000 1672 DC F'0,0' . channel status word 14977802
000FA0 00 1673 DC X'00' 14978102
000FA4 1674 DS 0F 14978402
1675 * UCB for CONSOLE 1 14978504
000FA4 00000009 1676 UCBCONS1 DC X'00000009' . device address, 14978604
000FA8 0000000100000000 1677 DC F'1,0' . user semaphore, 14978704
000FB0 0000000000000000 1678 DC F'0,0' . wait semaphore, 14978804
000FB8 0000000000000000 1679 DC F'0,0' . channel status word 14978904
000FC0 00 1680 DC X'00' 14979004
000FC4 1681 DS 0F 14979104
00FC4 1682 UCBTBEND EQU * 14980000
1 Sample Operating System Version 2.00 Page 44
Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1684 *********************************************************************** 15000000
1685 * * 15010000
1686 * I/O INTERRUPT HANDLER * 15020000
1687 * * 15030000
1688 *********************************************************************** 15040000
0 00FC4 1690 IOHANDL EQU * . THE I/O INTERRUPT HANDLER 15060000
000FC4 900F 01DC 001DC 1691 STM 0,15,IOHSAVE . SAVE REGISTERS 15070000
000FC8 0510 1692 BALR 1,0 15080000
R:1 00FCA 1693 USING *,1 . ESTABLISH ADRESSING 15090000
** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131
** ASMA435I Record 1673 in /mbhfs/sos4k.asm on volume:
000FCA 94FD 0039 00039 1694 NI IOOLD+1,X'FD' . TURN OFF WAIT BIT 15100000
000FCE 5860 172E 016F8 1695 L 6,=A(UCBTABLE) . GET POINTER TO UCB TABLE 15110000
000FD2 D501 6002 003A 00002 0003A 1696 IOCOMP CLC 2(2,6),IOOLD+2 . COMPARE DEVICE AND CHANNEL 15120000
000FD8 4780 1022 00FEC 1697 BE IODEVFND . IF EQUAL, REG 6 INDICATES PTR 15130000
000FDC 4166 0020 00020 1698 LA 6,UCBLENG(6) . INCREMENT TO NEXT ENTRY 15140000
000FE0 5960 1732 016FC 1699 C 6,=A(UCBTBEND) . ARE WE AT END OF TABLE? 15150000
000FE4 4770 1008 00FD2 1700 BNE IOCOMP . IF NOT DONE, TRY NEXT UCB 15160000
000FE8 47F0 106C 01036 1701 B IOBACK . ELSE, IGNORE IT 15170000
R:6 00000 1702 USING UCB,6 . IT'S A UCB PTR 15180000
000FEC D203 6014 0040 00014 00040 1703 IODEVFND MVC UCBCSW(4),CSW . MOVE IN THE NEW CSW 15190000
000FF2 5870 0044 00044 1704 L 7,CSW+4 . GET STATUS BYTE 15200000
000FF6 5670 6018 00018 1705 O 7,UCBCSW+4 . OR IN NEW STATUS INFORMATION 15210000
000FFA 5070 6018 00018 1706 ST 7,UCBCSW+4 . AND STORE IT BACK 15220000
000FFE D201 601A 0046 0001A 00046 1707 MVC UCBCSW+6(2),CSW+6 . MOVE IN BYTE COUNT 15230000
001004 4120 600C 0000C 1708 LA 2,UCBWS 15240000
001008 9500 601C 0001C 1709 CLI UCBFPR,X'00' . IS FAST PROCESSING 15250000
00100C 4780 106A 01034 1710 BE IONOFPR . REQUIRED? IF NOT, RETURN 15260000
001010 58F0 0270 00270 1711 L 15,RUNNING . IF SO, STOP GUY NOW RUNNING 15270000
R:F 00000 1712 USING PCB,15 15280000
001014 95FF F019 00019 1713 CLI PCBBLOKT,X'FF' . IS ANYONE REALLY RUNNING? 15290000
001018 4780 1062 0102C 1714 BE IOWAIT . IF NOT, START UP SLEEPER 15300000
00101C 41D0 F04C 0004C 1715 LA 13,PCBISA . IF SO, STOP RUNNING PROCESS 15310000
R:D 00000 1716 USING SA,13 15320000
001020 D207 D000 0038 00000 00038 1717 MVC SAPSW,IOOLD . SAVE PROCESS WHICH WAS 15330000
001026 D23F D008 01DC 00008 001DC 1718 MVC SAREGS,IOHSAVE . INTERRUPTED 15340000
1719 DROP 13,15 15350000
00102C 9200 0278 00278 1720 IOWAIT MVI NEXTTRYM,X'00' . MAKE NEXTTRY NOT MODIFIED 15360000
001030 0AE5 1721 SVC C'V' . SO CAN FAST PROCESS SLEEPER 15370000
001032 0A4B 1722 SVC C'.' . GO PROCESS IT RIGHT AWAY 15380000
001034 0AE5 1723 IONOFPR SVC C'V' . AND WAKE UP THE SLEEPER 15390000
001036 980F 01DC 001DC 1724 IOBACK LM 0,15,IOHSAVE . RELOAD OUR REGISTERS 15400000
00103A 8200 0038 00038 1725 LPSW IOOLD . AND STEALTHILY RETURN 15410000
1726 DROP 1,6 15420000
1 Sample Operating System Version 2.00 Page 45
Active Usings: PROGRAM,R0
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1728 *********************************************************************** 15440000
1729 * * 15450000
1730 * IPL ENTERED ROUTINE * 15460000
1731 * * 15470000
1732 * FUNCTION: TO INITIALIZE SYSTEM PARAMETERS, SET STORAGE KEYS, * 15480000
1733 * AND CREATE MULTIPLE JOB STREAMS. * 15490000
1734 * * 15500000
1735 *********************************************************************** 15510000
0 0103E 1737 IPLRTN EQU * . THE IPL-ENTERED ROUTINE 15530000
00103E 0510 1738 BALR 1,0 15540000
R:1 01040 1739 USING *,1 . ESTABLISH ADDRESSING 15550000
001040 D202 007D 1281 0007D 012C1 1740 MVC IONEW+5(3),SOSIONEW activate IO handler 15553002
001046 D202 005D 1289 0005D 012C9 1741 MVC EXTNEW+5(3),IPLEXNEW ignore external interrupts for now 15556002
00104C 41F0 10D0 01110 1742 LA 15,IPLPCB . I'M RUNNING 15560000
001050 50F0 0270 00270 1743 ST 15,RUNNING . INITIALIZE 'RUNNING' 15570000
001054 50F0 0274 00274 1744 ST 15,NEXTTRY . INITIALIZE 'NEXTTRY' 15580000
001058 D207 1700 1690 01740 016D0 1745 MVC VERYEND,=A(0,CORESIZE-(VERYEND-PROGRAM)) FREE CORE 15590000
00105E 4130 0008 00008 1746 LA 3,8 . SET ZERO KEY AND FETCH PROTECT 15600000
001062 5820 1224 01264 1747 L 2,CORESIZ . START PAST THE LAST BLOCK 15610000
001066 5B20 161C 0165C 1748 IPLCL S 2,PAGESIZE . get the previous block, page aligned 15620002
00106A 4740 1036 01076 1749 BM IPLTH . IF NEGATIVE, WE'RE THROUGH HERE 15630000
1750 * SSKE 3,2 . else set the storage key to 15640002
00106E B22B0032 1751 DC X'B22B0032' Assembler (XF) doesn't support SSKE 15643002
001072 47F0 1026 01066 1752 B IPLCL . ZERO, AND WORK BACKWARDS 15650000
001076 1B44 1753 IPLTH SR 4,4 . INDEX IN TABLES FOR INPUT STREAM 15660000
001078 5850 1088 010C8 1754 L 5,STREAMS . HOW MANY STREAMS? 15670000
00107C 4120 1218 01258 1755 IPLLOOP LA 2,IPLAPCBS . READY TO ALLOCATE A PCB 15680000
R:2 00000 1756 USING XAX,2 15690000
001080 0AC1 1757 SVC C'A' . ALLOCATE 15700000
001082 5820 2004 00004 1758 L 2,XAXADDR . GET THE ADDRESS 15710000
001086 D253 2000 1228 00000 01268 1759 MVC 0(TYPLEN,2),TYPPCB .MAKE IT LOOK LIKE A PCB 15720000
00108C 0AC9 1760 SVC C'I' . CHAIN IT ON 15730000
R:2 00000 1761 USING PCB,2 15740000
00108E 5020 2008 00008 1762 ST 2,PCBNPTG . BUT PUT IT IN A GROUP BY ITSELF 15750000
001092 5020 200C 0000C 1763 ST 2,PCBLPTG 15760000
1764 DROP 2 15770000
R:F 00000 1765 USING PCB,15 15780000
001096 50F0 F00C 0000C 1766 ST 15,PCBLPTG . LIKEWISE FOR THE IPL PCB 15790000
00109A 50F0 F008 00008 1767 ST 15,PCBNPTG 15800000
1768 DROP 15 15810000
R:2 00000 1769 USING PCB,2 15820000
00109E 4180 204C 0004C 1770 LA 8,PCBISA . GET THE NEW PCB'S ISA 15830000
R:8 00000 1771 USING SA,8 15840000
0010A2 4190 8008 00008 1772 LA 9,SAREGS . ABOUT TO FIX INIT REGS 15850000
R:9 00000 1773 USING REGS,9 15860000
0010A6 41A0 108C 010CC 1774 LA 10,UCBTAB 15870000
0010AA 1AA4 1775 AR 10,4 15880000
0010AC D203 900C A000 0000C 00000 1776 MVC REG3,0(10) . REG3 -> (RDRUCB,PRTUCB) 15890000
0010B2 D203 9010 A010 00010 00010 1777 MVC REG4,KEYTAB-UCBTAB(10) . REG4 = KEY 15900000
1778 DROP 9 15910000
0010B8 4144 0004 00004 1779 LA 4,4(4) . GO TO NEXT JOB STREAM 15920000
0010BC 4650 103C 0107C 1780 BCT 5,IPLLOOP . DO FOR EACH STREAM 15930000
0010C0 D202 005D 1285 0005D 012C5 1781 MVC EXTNEW+5(3),SOSEXNEW reactivate ext interrupt handler 15935002
0010C6 0A4B 1782 SVC C'.' . THEN ENTER TRAFFIC CONTROLLER 15940000
1 Sample Operating System Version 2.00 Page 46
Active Usings: PROGRAM,R0 PROGRAM+X'1040',R1 PCB,R2 SA,R8
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
00010C8 00000004 1784 STREAMS DC F'4' . NUMBER OF STREAMS 15960002
0 010CC 1786 UCBTAB EQU * . TABLE OF PTRS TO UCB BLOCKS 15980000
0010CC 000010EC 1787 DC A(UCBLP1) 15990000
0010D0 000010F4 1788 DC A(UCBLP2) 16000000
0010D4 000010FC 1789 DC A(UCBLP3) 16003002
0010D8 00001104 1790 DC A(UCBLP4) 16006002
0 010DC 1792 KEYTAB EQU * . TABLE OF PROTECTION KEYS 16020000
0010DC 00100000 1793 DC X'00100000' storage key for stream 1 region 16030002
0010E0 00200000 1794 DC X'00200000' storage key for stream 2 region 16034002
0010E4 00300000 1795 DC X'00300000' storage key for stream 3 region 16038002
0010E8 00400000 1796 DC X'00400000' storage key for stream 4 region 16042002
00010EC 00000EA400000EC4 1798 UCBLP1 DC A(UCBRDR1,UCBPRT1) 16060000
0010F4 00000EE400000F04 1799 UCBLP2 DC A(UCBRDR2,UCBPRT2) 16070000
0010FC 00000F2400000F44 1800 UCBLP3 DC A(UCBRDR3,UCBPRT3) 16073002
001104 00000F6400000F84 1801 UCBLP4 DC A(UCBRDR4,UCBPRT4) 16076002
0001110 1803 DS 0D 16090000
001110 4040404040404040 1804 IPLPCB DC CL8' ' . IPL ROUTINE PCB 16100000
001118 0000111000001110 1805 DC 4A(IPLPCB) 16110000
001128 FF000000 1806 DC X'FF000000' . INITIALIZED FLAGS 16120000
00112C 0000000100000000 1807 DC F'1,0' 16130000
001134 0000000000000000 1808 DC 5F'0,0' 16140000
00115C 0002000000000000 1809 DC X'0002000000000000' 16150000
001164 1810 DS CL76 16160000
0011B0 1811 DS CL84 16170000
001204 1812 DS CL84 16180000
0001258 00000148 1814 IPLAPCBS DC A(LENPCB) . ALLOC LIST FOR PCB'S 16200000
00125C 00000000 1815 DC A(0) 16210000
001260 00000008 1816 DC F'8' 16220000
001264 01000000 1817 CORESIZ DC A(CORESIZE) . BYTES OF CORE IN OBJECT MACHINE 16230000
0001268 1819 DS 0D 16250000
001268 5CC9C2E2E4D74040 1820 TYPPCB DC CL8'*IBSUP' . A TEMPLATE *IBSUP PCB 16260000
001270 0000000000000000 1821 DC 4A(0) 16270000
001280 00000000 1822 TEMPLATE DC X'00000000' . INITIALIZED FLAGS 16280000
001284 0000000100000000 1823 DC F'1,0' 16290000
00128C 0000000000000000 1824 DC 5F'0,0' 16300000
0012B4 FF000000000012CC 1825 DC X'FF00000000',AL3(JSP) 16310000
00054 1826 TYPLEN EQU *-TYPPCB 16320000
0012BC 8200 0018 00018 1827 EXINTRPT LPSW EXTOLD ignore external interrupts 16321002
0012C0 1828 DS 0F align 16322002
0012C0 00 1829 DC X'00' filler 16323002
0012C1 000FC4 1830 SOSIONEW DC AL3(IOHANDL) sample OS IO new PSW instruction addr 16324002
0012C4 00 1831 DC X'00' filler 16325002
0012C5 00027A 1832 SOSEXNEW DC AL3(EXTHANDL) sample OS ext new PSW instruction addr 16326002
0012C8 00 1833 DC X'00' filler 16327002
0012C9 0012BC 1834 IPLEXNEW DC AL3(EXINTRPT) IPLRTN ext new PSW instruction addr 16328002
1 Sample Operating System Version 2.00 Page 47
Active Usings: PROGRAM,R0 PROGRAM+X'1040',R1 PCB,R2 SA,R8
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 1836 *********************************************************************** 16340000
1837 * * 16350000
1838 * JOB STREAM PROCESSOR * 16360000
1839 * * 16370000
1840 *********************************************************************** 16380000
0 012CC 1842 JSP EQU * . THE JOB STREAM PROCESSOR 16400000
0012CC 0510 1843 BALR 1,0 . (PROCESS *IBSUP) 16410000
R:1 012CE 1844 USING *,1 . ESTABLISH ADDRESSING 16420000
0012CE 4120 1392 01660 1845 LA 2,JSPSUSEM . LOCK OURSELVES UNTIL 16430000
0012D2 0AD7 1846 SVC C'P' . WE CAN ALLOCATE STORAGE 16440000
0012D4 4120 139A 01668 1847 LA 2,JSPAAS . READY TO ALLOCATE 16450000
R:2 00000 1848 USING XAX,2 16460000
0012D8 0AC5 1849 SVC C'E' . ALLOCATE 16470000
0012DA 58C0 2004 00004 1850 L 12,XAXADDR . PTR TO AUTO AREA 16480000
1851 DROP 2 16490000
R:C 00000 1852 USING JSPAS,12 . USE FOR ADDRESSING 16500000
0012DE 4120 1392 01660 1853 LA 2,JSPSUSEM . UNLOCK OURSELVES 16510000
0012E2 0AE5 1854 SVC C'V' 16520000
0012E4 D207 C164 140A 00164 016D8 1855 MVC TREAD+0(8),=CL8'*IN' . INITIALIZE VALUES IN AUTOMATIC 16530000
0012EA D203 C16C 1432 0016C 01700 1856 MVC TREAD+8(4),=F'8' . STORAGE 16540000
0012F0 D203 C170 1436 00170 01704 1857 MVC TREAD+12(4),=C'READ' 16550000
0012F6 4120 C084 00084 1858 LA 2,CARD 16560000
0012FA 5020 C174 00174 1859 ST 2,ACARD 16570000
0012FE D207 C190 1412 00190 016E0 1860 MVC USERL+0(8),=CL8'USERPROG' 16580000
001304 D20B C178 1352 00178 01620 1861 MVC WRITE(12),SKIP 16590000
00130A D203 C184 143A 00184 01708 1862 MVC WRITE+12(4),=C'PRIN' 16600000
001310 4150 C000 00000 1863 LA 5,LINE 16610000
001314 5050 C188 00188 1864 ST 5,WRITE+16 16620000
001318 D203 C1B0 138E 001B0 0165C 1865 MVC CORE+8(4),PAGESIZE align to page boundary 16630002
00131E D207 C1B8 1412 001B8 016E0 1866 MVC TALK+0(8),=CL8'USERPROG' 16640000
001324 D203 C1C0 143E 001C0 0170C 1867 MVC TALK+8(4),=F'12' 16650000
00132A D203 C1D8 1442 001D8 01710 1868 MVC ANYBACK+8(4),=F'1' 16660000
001330 D203 C1B4 1446 001B4 01714 1869 MVC RLDTEMP,=A(0) 16670000
001336 5040 C18C 0018C 1870 ST 4,KEY . STORE KEY 16680000
00133A 1853 1871 LR 5,3 . GET PTR TO UCB PTR BLOCK 16690000
00133C 5835 0000 00000 1872 L 3,0(5) . GET READER POINTER 16700000
001340 4120 1362 01630 1873 LA 2,INSEQ . READY TO CREATE & START *IN 16710000
001344 0AC3 1874 SVC C'C' . CREATE 16720000
001346 0AE8 1875 SVC C'Y' . START 16730000
001348 5835 0004 00004 1876 L 3,4(5) . GET PTR TO PRINTER UCB 16740000
00134C 4120 136E 0163C 1877 LA 2,OUTSEQ . READY TO CREATE & START *OUT 16750000
001350 0AC3 1878 SVC C'C' . CREATE 16760000
001352 0AE8 1879 SVC C'Y' . START 16770000
0001354 4120 C164 00164 1881 LOOP LA 2,TREAD . READT TO READ A CARD 16790000
001358 0AE2 1882 SVC C'S' . START TO READ 16800000
00135A D203 C0DC 144A 000DC 01718 1883 MVC RREPLY1,=F'132' . 132 CHARS FOR REPLY 16810000
001360 4120 C0D4 000D4 1884 LA 2,RREPLY 16820000
001364 0AD9 1885 SVC C'R' . LISTEN FOR REPLY 16830000
001366 D501 C0E0 145A 000E0 01728 1886 CLC REPLY(2),=C'OK' . IS REPLY 'OK'? 16840000
00136C 4770 10B0 0137E 1887 BNE STOP . IF NOT, STOP 16850000
001370 D504 145C C084 0172A 00084 1888 CLC =C'$JOB,',CARD . HAVE WE A JOB CARD? 16860000
001376 4780 10B6 01384 1889 BE JOB . GOOD! 16870000
00137A 47F0 1086 01354 1890 B LOOP . ELSE LOOP 16880000
1 Sample Operating System Version 2.00 Page 48
Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
000137E 4120 134A 01618 1891 STOP LA 2,JSPNEVER . WAIT FOR A "V" OPERATION 16890000
001382 0AD7 1892 SVC C'P' . THAT NEVER COMES 16900000
0001384 9200 C1DD 001DD 1894 JOB MVI LOADED,X'00' . REMEMBER NOT LOADED 16920000
001388 D283 C000 141A 00000 016E8 1895 MVC LINE,=CL8' ' . CLEAR A LINE, PUT IN 16930000
00138E D27B C008 C007 00008 00007 1896 MVC LINE+8(124),LINE+7 .ALL BLANKS 16940000
001394 D24F C000 C084 00000 00084 1897 MVC LINE(80),CARD . GET READY TO SEND $JOB CARD 16950000
00139A 4120 C178 00178 1898 LA 2,WRITE . TO PRINTER 16960000
00139E 0AE2 1899 SVC C'S' . SEND IT 16970000
0013A0 4120 C0D4 000D4 1900 LA 2,RREPLY 16980000
0013A4 0AD9 1901 SVC C'R' . AND WAIT FOR REPLY 16990000
0013A6 4120 C190 00190 1902 LA 2,USERL . CREATE USERPROG 17000000
0013AA 0AC3 1903 SVC C'C' 17010000
0013AC 4140 C088 00088 1904 LA 4,CARD+4 . START TO SCAN CARD 17020000
0013B0 4530 131C 015EA 1905 BAL 3,SCAN . GET NEXT TOKEN 17030000
0013B4 0650 1906 BCTR 5,0 . less one to remove K 17040002
0013B6 5650 138A 01658 1907 O 5,COREPKLN . length of packed size for execute 17049002
0013BA 4450 137A 01648 1908 EX 5,COREPACK . pack core digits 17058002
0013BE 4F80 1382 01650 1909 CVB 8,COREPCKD . convert core requested to binary 17067002
0013C2 1B99 1910 SR 9,9 . is core .. 17076002
0013C4 8C80 0002 00002 1911 SRDL 8,2 . .. modulo four .. 17085002
0013C8 1299 1912 LTR 9,9 . .. equal zero? 17094002
0013CA 4780 1104 013D2 1913 BZ COREOK . -> yes, use it 17103002
0013CE 4180 8001 00001 1914 LA 8,1(,8) . -> no, up one page 17112002
0013D2 8980 000C 0000C 1915 COREOK SLL 8,12 . core bytes, rounded up to full pages 17121002
0013D6 5080 C1A8 001A8 1916 ST 8,CORE . remember core requirement 17130002
0013DA 4530 131C 015EA 1917 ASGNUNIT BAL 3,SCAN . GET NEXT TOKEN 17150000
0013DE 957E 4000 00000 1918 CLI 0(4),C'=' . IS IT AN '='? 17160000
0013E2 4770 1194 01462 1919 BNE LOAD . IF NOT, LOAD IN THE OBJECT DECK 17170000
0013E6 955C 9000 00000 1920 CLI 0(9),C'*' . HAS USER NAMED IT STARTING 17180000
0013EA 4780 12C8 01596 1921 BE EXPUNGE . WITH '*'? IF SO, THROW HIM OUT 17190000
0013EE 4120 C19C 0019C 1922 LA 2,SEQ . ELSE CREATE A PROCESS 17200000
0013F2 D207 C19C 141A 0019C 016E8 1923 MVC SEQ,=CL8' ' . BLANK OUT THE NAME 17210000
0013F8 4450 1154 01422 1924 EX 5,UNAMMOV . THEN MOVE THE RELEVANT 17220000
0013FC 0AC3 1925 SVC C'C' . CHARACTERS AND CREATE 17230000
0013FE 4120 C19C 0019C 1926 LA 2,SEQ . WE'LL START IT IN A MOMENT 17240000
001402 4530 131C 015EA 1927 BAL 3,SCAN . SCAN AGAIN 17250000
001406 4450 115A 01428 1928 EX 5,CMPIN . IS IT 'IN'? 17260000
00140A 4780 116C 0143A 1929 BE ASIN . IF SO, ASSIGN IT AS IN 17270000
00140E 4450 1160 0142E 1930 EX 5,CMPOUT . IF IT'S 'OUT' 17280000
001412 4780 117C 0144A 1931 BE ASOUT . ASSIGN IT AS OUT 17290000
001416 4450 1166 01434 1932 EX 5,CMPEXCP . IS IT 'EXCP'? 17300000
00141A 4780 1184 01452 1933 BE ASEXCP . IF SO, ASSIGN IT AS EXCP 17310000
00141E 47F0 12C8 01596 1934 B EXPUNGE . ERROR: GO ON TO NEXT JOB 17320000
001422 D200 C19C 9000 0019C 00000 1935 UNAMMOV MVC SEQ(0),0(9) . MOVE THE UNIT'S PROCESS NAME 17330000
001428 D500 9000 1461 00000 0172F 1936 CMPIN CLC 0(0,9),=C'IN ' . DOES IT SAY 'IN'? 17340000
00142E D500 9000 144E 00000 0171C 1937 CMPOUT CLC 0(0,9),=C'OUT ' . DOES IT SAY 'OUT'? 17350000
001434 D500 9000 1464 00000 01732 1938 CMPEXCP CLC 0(0,9),=C'EXCP ' . DOES IT SAY 'EXCP'? 17360000
000143A 41B0 140A 016D8 1940 ASIN LA 11,=CL8'*IN' . POINT TO NAME OF READER HANDLER 17380000
00143E D203 C1A4 1452 001A4 01720 1941 SETDIM MVC UNITRTN,=A(DIM) . USE DIM AS THE INTERFACE 17390000
001444 0AE8 1942 SVC C'Y' 17400000
001446 47F0 110C 013DA 1943 B ASGNUNIT 17410000
00144A 41B0 1422 016F0 1944 ASOUT LA 11,=CL8'*OUT' . POINT TO NAME OF PRINTER HANDLER 17420000
00144E 47F0 1170 0143E 1945 B SETDIM 17430000
1 Sample Operating System Version 2.00 Page 49
Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0001452 D203 C1A4 1456 001A4 01724 1946 ASEXCP MVC UNITRTN,=A(EXCPHNDL) . USE FOR USER SUPPLIED 17440000
001458 58B0 C18C 0018C 1947 L 11,KEY 17450000
00145C 0AE8 1948 SVC C'Y' . I/O ROUTINE 17460000
00145E 47F0 110C 013DA 1949 B ASGNUNIT 17470000
0001462 4120 C1A8 001A8 1951 LOAD LA 2,CORE . READY TO ALLOCATE THE REGION 17490000
001466 0AC1 1952 SVC C'A' . AND ALLOCATE IT 17500000
001468 92FF C1DD 001DD 1953 MVI LOADED,X'FF' . REMEMBER THAT WE'RE LOADED 17510000
00146C 5890 C1AC 001AC 1954 L 9,CORE+4 . GET THE FIRST ADDRESS 17520000
001470 5840 C18C 0018C 1955 L 4,KEY . GET THE KEY 17530000
001474 8840 0010 00010 1956 SRL 4,16 17540000
001478 5640 13A2 01670 1957 O 4,FETCHPRT fetch protected 17545002
00147C 1839 1958 LR 3,9 . GET THE BLOCK FOLLOWING OURS 17550000
00147E 1A38 1959 AR 3,8 17560000
001480 5B30 138E 0165C 1960 LOADSK S 3,PAGESIZE . get the previous block, page aligned 17570002
001484 1939 1961 CR 3,9 . HAVE WE PASSED THE START? 17580000
001486 4740 11C4 01492 1962 BL LOADLOOP . IF SO, START LOADING 17590000
1963 * SSKE 4,3 . else set this block to the key 17600002
00148A B22B0043 1964 DC X'B22B0043' Assembler (XF) doesn't support SSKE 17603002
00148E 47F0 11B2 01480 1965 B LOADSK . AND BRANCH BACK 17610000
001492 4120 C164 00164 1966 LOADLOOP LA 2,TREAD . READ IN OBJECT DECK 17620000
001496 0AE2 1967 SVC C'S' . GET A CARD A'READING 17630000
001498 D203 C0DC 144A 000DC 01718 1968 MVC RREPLY1,=F'132' 17640000
00149E 4120 C0D4 000D4 1969 LA 2,RREPLY 17650000
0014A2 0AD9 1970 SVC C'R' . WAIT FOR ANSWER 17660000
0014A4 D502 C085 1469 00085 01737 1971 CLC CARD+1(3),=C'TXT' . IS IT A TXT CARD? 17670000
0014AA 4780 11F8 014C6 1972 BE TXTCARD 17680000
0014AE D502 C085 146C 00085 0173A 1973 CLC CARD+1(3),=C'RLD' . IS IT A RLD CARD? 17690000
0014B4 4780 1212 014E0 1974 BE RLDCARD 17700000
0014B8 D502 C085 146F 00085 0173D 1975 CLC CARD+1(3),=C'END' . IS IT AN END CARD? 17710000
0014BE 4780 1270 0153E 1976 BE ENDCARD 17720000
0014C2 47F0 11C4 01492 1977 B LOADLOOP . IF NONE, IGNORE. 17730000
00014C6 58A0 C088 00088 1979 TXTCARD L 10,CARD+4 . GET THE RELATIVE ADDRESS 17750000
0014CA 1AA9 1980 AR 10,9 . PLUS THE ABSOLUTE ADDRESS 17760000
0014CC 48B0 C08E 0008E 1981 LH 11,CARD+10 . GET THE COUNT, 17770000
0014D0 06B0 1982 BCTR 11,0 . DECREMENTED 17780000
0014D2 44B0 120C 014DA 1983 EX 11,TXTMOV . AND MOVE THE TEXT 17790000
0014D6 47F0 11C4 01492 1984 B LOADLOOP . AND READ ANOTHER CARD! OH WOW! 17800000
0014DA D200 A000 C094 00000 00094 1985 TXTMOV MVC 0(0,10),CARD+16 17810000
00014E0 48B0 C08E 0008E 1987 RLDCARD LH 11,CARD+10 . GET THE BYTE COUNT 17830000
0014E4 41D0 C098 00098 1988 LA 13,CARD+20 . AND AN INDEX INTO THE CARD 17840000
0014E8 58AD 0000 00000 1989 RLDLOOP L 10,0(13) . GET THE LOCATION TO BE RLD'D 17850000
0014EC 1AA9 1990 AR 10,9 . GET THE ABSOLUTE ADDRESS 17860000
0014EE 9103 D003 00003 1991 TM 3(13),X'03' . IS IT A FULLWORD? 17870000
0014F2 4770 1252 01520 1992 BNZ NOTALGND . IF NO, HANDLE AS THREE BYTES 17880000
0014F6 587A 0000 00000 1993 L 7,0(10) . GET THAT WORD (HAD BETTER BE 17890000
0014FA 1A79 1994 AR 7,9 . ONE); ADD THE RELOCATION 17900000
0014FC 507A 0000 00000 1995 ST 7,0(10) . ADDRESS, AND STORE IT BACK 17910000
001500 9101 D000 00000 1996 RLDCONT TM 0(13),X'01' . CHECK IF LONG OR SHORT FIELD 17920000
001504 4770 1242 01510 1997 BNZ SHORT . AND BRANCH ACCORDINGLY 17930000
001508 4140 0008 00008 1998 LA 4,8 . SKIP EIGHT BYTES 17940000
00150C 47F0 1246 01514 1999 B RLDFINI 17950000
001510 4140 0004 00004 2000 SHORT LA 4,4 . SKIP FOUR BYTES 17960000
1 Sample Operating System Version 2.00 Page 50
Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0001514 1AD4 2001 RLDFINI AR 13,4 . INCREMENT THE CARD INDEX 17970000
001516 1BB4 2002 SR 11,4 . DECREMENT THE BYTE COUNT 17980000
001518 4720 121A 014E8 2003 BP RLDLOOP . AND TRY AGAIN 17990000
00151C 47F0 11C4 01492 2004 B LOADLOOP . OR READ ANOTHER CARD 18000000
001520 D202 C1B5 A000 001B5 00000 2005 NOTALGND MVC RLDTEMP+1(3),0(10) . PUT ADDRESS HERE 18010000
001526 5870 C1B4 001B4 2006 L 7,RLDTEMP . RELOCATE IT 18020000
00152A 1A79 2007 AR 7,9 18030000
00152C 5070 C1B4 001B4 2008 ST 7,RLDTEMP . AND PUT IT BACK TO 18040000
001530 D202 A000 C1B5 00000 001B5 2009 MVC 0(3,10),RLDTEMP+1 . WHERE IT BELONGS 18050000
001536 9400 C1B4 001B4 2010 NI RLDTEMP,X'00' . CLEAR OUT TEMPORARY 18060000
00153A 47F0 1232 01500 2011 B RLDCONT . AND LOOP BACK 18070000
000153E 4120 C190 00190 2013 ENDCARD LA 2,USERL . FIND THE PCB FOR USERPROG 18090000
001542 0AD5 2014 SVC C'N' 18100000
001544 5840 C198 00198 2015 L 4,USERL+8 . GET THE ADDRESS 18110000
R:4 00000 2016 USING PCB,4 18120000
001548 92FF 4019 00019 2017 MVI PCBBLOKT,X'FF' . TEMPORARILY BLOCK IT 18130000
00154C 5090 C198 00198 2018 ST 9,USERL+8 . STORE THE BEGINNING ADDRESS 18140000
001550 0AE8 2019 SVC C'Y' . THEN START IT 18150000
001552 5850 C18C 0018C 2020 L 5,KEY . GET THE KEY 18160000
001556 5650 404C 0004C 2021 O 5,PCBISA+0 . THEN OR THIS INTO THE 18170000
00155A 5050 404C 0004C 2022 ST 5,PCBISA+0 . FIRST WORD OF THE PCB 18180000
00155E 9601 404D 0004D 2023 OI PCBISA+1,X'01' . OR IN A 'PROGRAM STATE' BIT 18190000
001562 9200 4019 00019 2024 MVI PCBBLOKT,X'00' . AND THEN UNBLOCK IT 18200000
2025 DROP 4 18210000
001566 4120 C1B8 001B8 2026 LA 2,TALK . LISTEN TO WHAT IT SAYS 18220000
00156A 0AD9 2027 SVC C'R' 18230000
000156C D207 C000 141A 00000 016E8 2029 MVC LINE(8),=CL8' ' . IF JOB FINISHED, CLEAR A LINE 18250000
001572 D27B C008 C007 00008 00007 2030 MVC LINE+8(124),LINE+7 18260000
001578 D20B C000 C1C4 00000 001C4 2031 MVC LINE(12),TALK+12 . MOVE THE MESSAGE ONTO THE LINE 18270000
00157E 4120 C178 00178 2032 LA 2,WRITE . AND SAY TO WRITE IT 18280000
001582 0AE2 2033 SVC C'S' 18290000
001584 4120 C1D0 001D0 2034 LA 2,ANYBACK 18300000
001588 0AD9 2035 SVC C'R' 18310000
00158A 4120 1352 01620 2036 LA 2,SKIP . SKIP TO THE TOP OF THE NEXT PAGE 18320000
00158E 0AE2 2037 SVC C'S' 18330000
001590 4120 C1D0 001D0 2038 LA 2,ANYBACK 18340000
001594 0AD9 2039 SVC C'R' 18350000
0001596 5850 0270 00270 2041 EXPUNGE L 5,RUNNING . EXPUNGE A JOB: LOOK AT ALL PCBS 18370000
00159A 4120 C19C 0019C 2042 LA 2,SEQ 18380000
R:5 00000 2043 USING PCB,5 18390000
00159E D207 C19C 5000 0019C 00000 2044 EXPLOOP MVC SEQ(8),PCBNAME . GET THE PROCESS NAME 18400000
0015A4 5840 5008 00008 2045 L 4,PCBNPTG . GET THE NEXT PTR 18410000
0015A8 955C C19C 0019C 2046 CLI SEQ+0,C'*' . IS IT A '*' PROCESS? 18420000
0015AC 4780 12E6 015B4 2047 BE EXPNXT . IF SO, SKIP OVER 18430000
0015B0 0AE9 2048 SVC C'Z' . ELSE STOP IT 18440000
0015B2 0AC4 2049 SVC C'D' . AND DESTROY IT 18450000
0015B4 1854 2050 EXPNXT LR 5,4 . GO TO THE NEXT PCB 18460000
0015B6 5950 0270 00270 2051 C 5,RUNNING . ARE WE THROUGH? 18470000
0015BA 4770 12D0 0159E 2052 BNE EXPLOOP . IF NOT, LOOP AGAIN 18480000
0015BE 9500 C1DD 001DD 2053 CLI LOADED,X'00' . WAS CORE ALLOCATED? 18490000
0015C2 4780 1086 01354 2054 BE LOOP . IF NOT, GO READ THE NEXT $JOB CARD 18500000
0015C6 4140 0008 00008 2055 LA 4,8 . set zero key and fetch protect 18510002
1 Sample Operating System Version 2.00 Page 51
Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 PCB,R5 SA,R8 JSPAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
00015CA 1839 2056 LR 3,9 . AND A POINTER TO THE NEXT 18520000
0015CC 1A38 2057 AR 3,8 . BLOCK AFTER OURS 18530000
0015CE 5B30 138E 0165C 2058 LOADCL S 3,PAGESIZE . get the previous block, page aligned 18540002
0015D2 1939 2059 CR 3,9 . ARE WE THROUGH? 18550000
0015D4 4740 1312 015E0 2060 BL LOADD . IF SO, GO FREE CORE 18560000
2061 * SSKE 4,3 . else clear storage key 18570002
0015D8 B22B0043 2062 DC X'B22B0043' Assembler (XF) doesn't support SSKE 18573002
0015DC 47F0 1300 015CE 2063 B LOADCL . AND LOOP BACK 18580000
0015E0 4120 C1A8 001A8 2064 LOADD LA 2,CORE 18590000
0015E4 0AC6 2065 SVC C'F' . FREE THE STORAGE 18600000
0015E6 47F0 1086 01354 2066 B LOOP . READ ANOTHER $JOB CARD 18610000
00015EA 1B55 2068 SCAN SR 5,5 . START THE TOKEN COUNT AT ZERO 18630000
0015EC 4144 0001 00001 2069 SCANLOOP LA 4,1(4) . GO TO NEXT CHARACTER 18640000
0015F0 956B 4000 00000 2070 CLI 0(4),C',' . DO WE HAVE A DELIMITER? IF SO, 18650000
0015F4 4780 1342 01610 2071 BE TOKSTART 18660000
0015F8 957E 4000 00000 2072 CLI 0(4),C'=' . DITTO 18670000
0015FC 4780 1342 01610 2073 BE TOKSTART 18680000
001600 9540 4000 00000 2074 CLI 0(4),C' ' . DITTO 18690000
001604 4780 1342 01610 2075 BE TOKSTART 18700000
001608 4155 0001 00001 2076 LA 5,1(5) . AND UP COUNT 18710000
00160C 47F0 131E 015EC 2077 B SCANLOOP . AND LOOP 18720000
001610 1894 2078 TOKSTART LR 9,4 . SET REG9 TO START 18730000
001612 1B95 2079 SR 9,5 . OF THIS TOKEN 18740000
001614 0650 2080 BCTR 5,0 . LESS ONE FOR EXECUTE INSTRUCTION 18750000
001616 07F3 2081 BR 3 18760000
-001618 0000000000000000 2083 JSPNEVER DC F'0,0' . A GOOD WAY TO DIE: P(JSPNEVER) 18780000
001620 5CD6E4E340404040 2084 SKIP DC CL8'*OUT' . MESSAGE BLOCK FOR A NEW PAGE 18790000
001628 00000008 2085 DC F'8' 18800000
00162C E2E3C3F1 2086 DC CL4'STC1' 18810000
001630 5CC9D54040404040 2087 INSEQ DC CL8'*IN' . SEQ TO CREATE & START *IN 18820000
001638 00000AC6 2088 DC A(RDRHANDL) 18830000
00163C 5CD6E4E340404040 2089 OUTSEQ DC CL8'*OUT' . SEQ TO CREATE & START *OUT 18840000
001644 00000C48 2090 DC A(PRTHANDL) 18850000
001648 F200 1382 9000 01650 00000 2091 COREPACK PACK COREPCKD(1),0(1,9) . executed to pack core size req'd 18860002
001650 2092 COREPCKD DS D . packed core requirement goes here 18880002
001658 00000070 2093 COREPKLN DC X'00000070' . length of packed size for execute 18900002
00165C 00001000 2094 PAGESIZE DC F'4096' . page size for core computation 18920002
001660 0000000100000000 2095 JSPSUSEM DC F'1,0' . SEMAPHORE TO LOCK ROUTINE 18990000
001668 000001E0 2096 JSPAAS DC A(LENJSPAS) . ALLOCATE LIST FOR AUTO STORAGE 19000000
00166C 2097 DS A 19010000
001670 00000008 2098 FETCHPRT DC F'8' reused to or in fetch protection 19020002
1 Sample Operating System Version 2.00 Page 52
Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 PCB,R5 SA,R8 JSPAS,R12
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 2100 *********************************************************************** 19040000
2101 * * 19050000
2102 * DEVICE INTERFACE MODULE * 19060000
2103 * * 19070000
2104 * FUNCTION: TO INTERFACE BETWEEN USERPROG AND DEVICE HANDLER * 19080000
2105 * DATABASES: NONE * 19090000
2106 * ROUTINES USED: XA, XP, XV, XR, XS * 19100000
2107 * PROCEDURE: ALLOCATE AUTOMATIC STORAGE; START TO READ MESSAGE * 19110000
2108 * FROM USER; SEND MESSAGE TO DEVICE HANDLER; * 19120000
2109 * CONTINUE LOOPING, SENDING MESSAGES FROM USER TO * 19130000
2110 * DEVICE HANDLER AND BACK. * 19140000
2111 * ERROR CHECKS: NONE * 19150000
2112 * INTERRUPTS: ON * 19160000
2113 * USER ACCESS: YES * 19170000
2114 * * 19180000
2115 *********************************************************************** 19190000
0 01674 2117 DIM EQU * . THE DEVICE INTERFACE MODULE 19210000
001674 0510 2118 BALR 1,0 19220000
R:1 01676 2119 USING *,1 . ESTABLISH ADDRESSING 19230000
001676 4120 1042 016B8 2120 LA 2,DIMSEM . LOCK UNTIL GET STORAGE 19240000
00167A 0AD7 2121 SVC C'P' 19250000
00167C 4120 104A 016C0 2122 LA 2,DIMAAS . READY TO ALLOCATE STORAGE 19260000
R:2 00000 2123 USING XAX,2 19270000
001680 0AC5 2124 SVC C'E' . DO IT 19280000
001682 58C0 2004 00004 2125 L 12,XAXADDR . GET THE ADDRESS 19290000
2126 DROP 2 19300000
001686 4120 1042 016B8 2127 LA 2,DIMSEM . UNLOCK OURSELVES 19310000
00168A 0AE5 2128 SVC C'V' 19320000
R:C 00000 2129 USING DIMAS,12 . USE 12 FOR AUTO STORAGE 19330000
00168C D207 C090 B000 00090 00000 2130 MVC DIMLMS,0(11) . MOVE NAME OF RECIEVER 19340000
001692 4180 0084 00084 2131 LA 8,132 . REG 8 = SIZE OF MESSAGE 19350000
001696 5080 C008 00008 2132 DIMLOOP ST 8,DIMMSG+8 . GET READY TO READ A MESSAGE 19360000
00169A 4120 C000 00000 2133 LA 2,DIMMSG 19370000
00169E 0AD9 2134 SVC C'R' . READ 19380000
0016A0 D207 C098 C000 00098 00000 2135 MVC DIMTEMP,DIMMSG . SAVE SENDER NAME 19390000
0016A6 D207 C000 C090 00000 00090 2136 MVC DIMMSG,DIMLMS . SEND IT BACK TO THE LAST GUY 19400000
0016AC 0AE2 2137 SVC C'S' . SEND IT 19410000
0016AE D207 C090 C098 00090 00098 2138 MVC DIMLMS,DIMTEMP . AND REMEMBER WHO TO SEND TO NEXT 19420000
0016B4 47F0 1020 01696 2139 B DIMLOOP . RELOOP 19430000
0016B8 0000000100000000 2140 DIMSEM DC F'1,0' . SEMAPHORE FOR ENTRY 19440000
0016C0 000000A0 2141 DIMAAS DC A(DIMLEN) . ALLOCATE SEQ FOR AUTO STORAGE 19450000
0016C4 00000000 2142 DC A(0) 19460000
0016C8 00000008 2143 DC F'8' 19470000
2144 DROP 12 19480000
1 Sample Operating System Version 2.00 Page 53
Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
00016D0 2146 LTORG 19500000
0016D0 0000000000FFE8C0 2147 =A(0,CORESIZE-(VERYEND-PROGRAM))
0016D8 5CC9D54040404040 2148 =CL8'*IN'
0016E0 E4E2C5D9D7D9D6C7 2149 =CL8'USERPROG'
0016E8 4040404040404040 2150 =CL8' '
0016F0 5CD6E4E340404040 2151 =CL8'*OUT'
0016F8 00000EA4 2152 =A(UCBTABLE)
0016FC 00000FC4 2153 =A(UCBTBEND)
001700 00000008 2154 =F'8'
001704 D9C5C1C4 2155 =C'READ'
001708 D7D9C9D5 2156 =C'PRIN'
00170C 0000000C 2157 =F'12'
001710 00000001 2158 =F'1'
001714 00000000 2159 =A(0)
001718 00000084 2160 =F'132'
00171C D6E4E340 2161 =C'OUT '
001720 00001674 2162 =A(DIM)
001724 00000D74 2163 =A(EXCPHNDL)
001728 D6D2 2164 =C'OK'
00172A 5BD1D6C26B 2165 =C'$JOB,'
00172F C9D540 2166 =C'IN '
001732 C5E7C3D740 2167 =C'EXCP '
001737 E3E7E3 2168 =C'TXT'
00173A D9D3C4 2169 =C'RLD'
00173D C5D5C4 2170 =C'END'
001740 2171 VERYEND DS 6D . beginning of free storage 19510004
001770 2172 LOADER DS 0D IPL loader goes here 19521002
1 Sample Operating System Version 2.00 Page 54
Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8
0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 00000 2174 R0 EQU 0 19521502
00001 2175 R1 EQU 1 19522002
00002 2176 R2 EQU 2 19522502
00003 2177 R3 EQU 3 19523002
00004 2178 R4 EQU 4 19523502
00005 2179 R5 EQU 5 19524002
00006 2180 R6 EQU 6 19524502
00007 2181 R7 EQU 7 19525002
00008 2182 R8 EQU 8 19525502
00009 2183 R9 EQU 9 19526002
0000A 2184 R10 EQU 10 19526502
0000B 2185 R11 EQU 11 19527002
0000C 2186 R12 EQU 12 19527502
0000D 2187 R13 EQU 13 19528002
0000E 2188 R14 EQU 14 19528502
0000F 2189 R15 EQU 15 19529002
2190 *********************************************************************** 19530000
2191 * * 19540000
2192 * DATABASE DEFINITIONS * 19550000
2193 * * 19560000
2194 *********************************************************************** 19570000
0000000 00000 00148 2196 PCB DSECT . PROCESS CONTROL BLOCK DEFINITION 19590000
000000 2197 PCBNAME DS CL8 . NAME 19600000
000008 2198 PCBNPTG DS F . NEXT POINTER THIS GROUP 19610000
00000C 2199 PCBLPTG DS F . LAST POINTER THIS GROUP 19620000
000010 2200 PCBNPALL DS F . NEXT POINTER ALL 19630000
000014 2201 PCBLPALL DS F . LAST POINTER ALL 19640000
000018 2202 PCBSTOPT DS C . STOPPED 19650000
000019 2203 PCBBLOKT DS C . BLOCKED 19660000
00001A 2204 PCBINSMC DS C . IN SMC 19670000
00001B 2205 PCBSW DS C . STOP WAITING 19680000
00001C 2206 PCBMSC DS CL8 . MESSAGE SEMAPHORE COMMON 19690000
000024 2207 PCBMSR DS CL8 . MESSAGE SEMAPHORE RECEIVER 19700000
00002C 2208 PCBFM DS F . FIRST MESSAGE 19710000
000030 2209 PCBNSW DS F . NEXT SEMAPHORE WAITER 19720000
000034 2210 PCBSRS DS CL8 . STOPPER SEMAPHORE 19730000
00003C 2211 PCBSES DS CL8 . STOPPEE SEMAPHORE 19740000
000044 2212 PCBASIZE DS F . AUTOMATIC STORAGE SIZE 19750000
000048 2213 PCBAADDR DS A . AUTOMATIC STORAGE ADDRESS 19760000
00004C 2214 PCBISA DS CL84 . INTERRUPT SAVE AREA 19770000
0000A0 2215 PCBFSA DS CL84 . FAULT SAVE AREA 19780000
0000F4 2216 PCBMSA DS CL84 . MEMORY SAVE AREA 19790000
000148 2217 DS 0D . (ALIGN) 19800000
00148 2218 LENPCB EQU *-PCB . (LENGTH) 19810000
0000000 00000 00054 2220 SA DSECT . SAVE AREA DEFINITION 19830000
000000 2221 SAPSW DS D . PROGRAM STATUS WORD 19840000
000008 2222 SAREGS DS CL64 . REGISTERS 19850000
000048 2223 SATEMP DS CL12 . TEMPORARIES 19860000
0000000 00000 00040 2225 REGS DSECT . REGISTER DEFINITION 19880000
000000 2226 REG0 DS F . REGISTER 0 19890000
000004 2227 REG1 DS F . REGISTER 1 19900000
000008 2228 REG2 DS F . REGISTER 2 19910000
1 Sample Operating System Version 2.00 Page 55
Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8
0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
000000C 2229 REG3 DS F . REGISTER 3 19920000
000010 2230 REG4 DS F . REGISTER 4 19930000
000014 2231 REG5 DS F . REGISTER 5 19940000
000018 2232 REG6 DS F . REGISTER 6 19950000
00001C 2233 REG7 DS F . REGISTER 7 19960000
000020 2234 REG8 DS F . REGISTER 8 19970000
000024 2235 REG9 DS F . REGISTER 9 19980000
000028 2236 REG10 DS F . REGISTER 10 19990000
00002C 2237 REG11 DS F . REGISTER 11 20000000
000030 2238 REG12 DS F . REGISTER 12 20010000
000034 2239 REG13 DS F . REGISTER 13 20020000
000038 2240 REG14 DS F . REGISTER 14 20030000
00003C 2241 REG15 DS F . REGISTER 15 20040000
0000000 00000 00008 2243 FSB DSECT . FREE STORAGE BLOCK DEFINITIONS 20060000
000000 2244 FSBNEXT DS A . NEXT 20070000
000004 2245 FSBSIZE DS F . SIZE 20080000
0000000 00000 00008 2247 SM DSECT . SEMAPHORE DEFINITION 20100000
000000 2248 SMVAL DS F . VALUE 20110000
000004 2249 SMPTR DS F . PTR 20120000
0000000 00000 0000C 2251 MSG DSECT . MESSAGE DEFINITION 20140000
000000 2252 MSGSENDR DS A . POINTER TO SENDER'S PCB 20150000
000004 2253 MSGNEXT DS A . NEXT 20160000
000008 2254 MSGSIZE DS F . SIZE 20170000
00000C 2255 MSGTEXT DS 0C . TEXT 20180000
0000C 2256 LENMSG EQU *-MSG . (LENGTH) 20190000
0000000 00000 0000C 2258 XAX DSECT . XA ARGUMENT LIST 20210000
000000 2259 XAXSIZE DS F . SIZE 20220000
000004 2260 XAXADDR DS F . ADDRESS 20230000
000008 2261 XAXALGN DS F . ALIGNMENT 20240000
0000000 00000 00008 2263 XFX DSECT . XF ARGUMENT LIST 20260000
000000 2264 XFXSIZE DS F . SIZE 20270000
000004 2265 XFXADDR DS F . ADDRESS 20280000
0000000 00000 00008 2267 XBX DSECT . XB ARGUMENT LIST 20300000
000000 2268 XBXSIZE DS F . SIZE 20310000
000004 2269 XBXADDR DS F . ADDRESS 20320000
0000000 00000 00008 2271 XCX DSECT . XC ARGUMENT LIST 20340000
000000 2272 XCXNAME DS CL8 . NAME 20350000
0000000 00000 00008 2274 XDX DSECT . AD ARGUMENT LIST 20370000
000000 2275 XDXNAME DS CL8 . NAME 20380000
0000000 00000 0000C 2277 XNX DSECT . XN ARGUMENT LIST 20400000
000000 2278 XNXNAME DS CL8 . NAME 20410000
000008 2279 XNXADDR DS A . ADDRESS 20420000
0000000 00000 0000C 2281 XRX DSECT . XR ARGUMENT LIST 20440000
000000 2282 XRXNAME DS CL8 . NAME 20450000
000008 2283 XRXSIZE DS F . SIZE 20460000
1 Sample Operating System Version 2.00 Page 56
Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8
0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
000000C 2284 XRXTEXT DS 0C . TEXT 20470000
0000000 00000 0000C 2286 XSX DSECT . XS ARGUMENT LIST 20490000
000000 2287 XSXNAME DS CL8 . NAME 20500000
000008 2288 XSXSIZE DS F . SIZE 20510000
00000C 2289 XSXTEXT DS 0C . TEXT 20520000
0000000 00000 0000C 2291 XYX DSECT . XY ARGUMENT LIST 20540000
000000 2292 XYXNAME DS CL8 . NAME 20550000
000008 2293 XYXADDR DS A . ADDR 20560000
0000000 00000 00008 2295 XZX DSECT . XZ ARGUMENT LIST 20580000
000000 2296 XZXNAME DS CL8 . NAME 20590000
0000000 00000 00080 2298 RDRHAS DSECT . READER HANDLER AUTOMATIC STORAGE 20610000
000000 2299 RDRHCCB DS 2F . CCB 20620000
000008 2300 RDRHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20630000
000010 2301 DS F'8' 20640000
000014 2302 DS CL8 20650000
00001C 2303 RDRHTEMP DS CL80 . AREA FOR $JOB IN DATA STREAM 20660000
00006C 2304 RDRHM DS CL8 . MESSAGE BLOCK FOR REPLY 20670000
000074 2305 DS F'2' 20680000
000078 2306 DS CL2 20690000
00007A 2307 JOBBIT DS 1C 20700000
000080 2308 DS 0D 20710000
00080 2309 LENRDRHA EQU *-RDRHAS . (LENGTH) 20720000
0000000 00000 00030 2311 PRTHAS DSECT . PRINTER HANDLER AUTOMATIC STORAGE 20740000
000000 2312 PRTHCCB DS 2F . CCB 20750000
000008 2313 PRTHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20760000
000010 2314 DS F'2' 20770000
000014 2315 DS CL8 20780000
00001C 2316 PRTHM DS CL8 . MESSAGE BLOCK FOR REPLY 20790000
000024 2317 DS F'2' 20800000
000028 2318 DS CL2 20810000
000030 2319 DS 0D 20820000
00030 2320 LENPRTHA EQU *-PRTHAS . (LENGTH) 20830000
0000000 00000 00030 2322 EXCPHAS DSECT . EXCP HANDLER AUTOMATIC STORAGE 20850000
000000 2323 EXCPHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20860000
000008 2324 DS F'12' 20870000
00000C 2325 DS CL12 20880000
000018 2326 EXCPHM DS CL8 . MESSAGE BLOCK FOR REPLY 20890000
000020 2327 DS F'12' 20900000
000024 2328 DS CL12 20910000
000030 2329 DS 0D 20920000
00030 2330 LENEXCPA EQU *-EXCPHAS . (LENGTH) 20930000
0000000 00000 00020 2332 UCB DSECT . UNIT CONTROL BLOCK DEFINITION 20950000
000000 2333 UCBADDR DS F . ADDRESS 20960000
000004 2334 UCBUS DS FL8 . USER SEMAPHORE 20970000
00000C 2335 UCBWS DS FL8 . WAITER SEMAPHORE 20980000
000014 2336 UCBCSW DS FL8 . CHANNEL STATUS WORD 20990000
00001C 2337 UCBFPR DS CL1 . FAST PROCESSING REQUIRED 21000000
000020 2338 DS 0F 21010000
1 Sample Operating System Version 2.00 Page 57
Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8
0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42
0 00020 2339 UCBLENG EQU *-UCB 21020000
0000000 00000 001E0 2341 JSPAS DSECT . JSP AUTOMATIC STORAGE 21040000
000000 2342 LINE DS CL132 . PRINTED LINE 21050000
000084 2343 DS 0F 21060000
000084 2344 CARD DS CL80 . CARD READ 21070000
0000D4 2345 DS 0F 21080000
0000D4 2346 RREPLY DS CL8 . MESSAGE BLOCK FOR REPLIES 21090000
0000DC 2347 RREPLY1 DS F 21100000
0000E0 2348 REPLY DS CL132 21110000
000164 2349 TREAD DS 0F . MESSAGE BLOCK FOR READING 21120000
000164 2350 DS CL8'*IN' 21130000
00016C 2351 DS F'8' 21140000
000170 2352 DS CL4'READ' 21150000
000174 2353 ACARD DS A(0) 21160000
000178 2354 WRITE DS CL8'*OUT' . MESSAGE BLOCK TO PRINT A LINE 21170000
000180 2355 DS F'8' 21180000
000184 2356 DS CL4'PRIN' 21190000
000188 2357 DS A(LINE) 21200000
00018C 2358 KEY DS F 21210000
000190 2359 USERL DS CL8'USERPROG' . LIST FOR MANIPULATING USERPROG 21220000
000198 2360 DS F 21230000
00019C 2361 SEQ DS CL8' ' . COMMON ARG LIST FOR I/O PROCESS 21240000
0001A4 2362 UNITRTN DS A 21250000
0001A8 2363 CORE DS F . MEMORY ALLOCATED AND FREE 21260000
0001AC 2364 DS F . SEQUENCE 21270000
0001B0 2365 DS F'4096' align to page boundary 21280002
0001B4 2366 RLDTEMP DS F 21290000
0001B8 2367 TALK DS CL8'USERPROG' . MESSAGE BLOCK FOR MESSAGE FROM 21300000
0001C0 2368 DS F'12' . USERPROG 21310000
0001C4 2369 DS CL12 21320000
0001D0 2370 ANYBACK DS CL8 . MESSAGE BLOCK FOR IGNORING MESS 21330000
0001D8 2371 DS F'1' 21340000
0001DC 2372 DS CL1 21350000
0001DD 2373 LOADED DS C . IS CORE ALLOCATED 21360000
0001E0 2374 DS 0D 21370000
001E0 2375 LENJSPAS EQU *-JSPAS . (LENGTH) 21380000
0000000 00000 000A0 2377 DIMAS DSECT . DEVICE INTERFACE MODULE STORAGE 21400000
000000 2378 DIMMSG DS CL8 . MESSAGE BLOCK 21410000
000008 2379 DS F'132' 21420000
00000C 2380 DS CL132 21430000
000090 2381 DIMLMS DS CL8 . LAST MESSAGE SENDER 21440000
000098 2382 DIMTEMP DS CL8 . TEMPORARY 21450000
0000A0 2383 DS 0D 21460000
000A0 2384 DIMLEN EQU *-DIMAS . (LENGTH) 21470000
2385 END 21480000
1 Relocation Dictionary Page 58
- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 08.42
0 00000001 00000001 00000005 A 3 +
00000001 00000001 0000005D A 3 +
00000001 00000001 00000065 A 3 +
00000001 00000001 0000006D A 3 +
00000001 00000001 00000180 A 4 +
00000001 00000001 0000042D A 3 +
00000001 00000001 00000435 A 3 +
00000001 00000001 0000043D A 3 +
00000001 00000001 00000445 A 3 +
00000001 00000001 0000044D A 3 +
00000001 00000001 00000455 A 3 +
00000001 00000001 0000045D A 3 +
00000001 00000001 00000465 A 3 +
00000001 00000001 0000046D A 3 +
00000001 00000001 00000475 A 3 +
00000001 00000001 0000047D A 3 +
00000001 00000001 00000485 A 3 +
00000001 00000001 0000048D A 3 +
00000001 00000001 00000495 A 3 +
00000001 00000001 0000049D A 3 +
00000001 00000001 000004A5 A 3 +
00000001 00000001 000004AD A 3 +
00000001 00000001 000004B5 A 3 +
00000001 00000001 000004BD A 3 +
00000001 00000001 000004C5 A 3 +
00000001 00000001 000004C8 A 4 +
00000001 00000001 000004DD A 3 +
00000001 00000001 0000059D A 3 +
00000001 00000001 00000E5C A 4 +
00000001 00000001 00000E90 A 4 +
00000001 00000001 000010CC A 4 +
00000001 00000001 000010D0 A 4 +
00000001 00000001 000010D4 A 4 +
00000001 00000001 000010D8 A 4 +
00000001 00000001 000010EC A 4 +
00000001 00000001 000010F0 A 4 +
00000001 00000001 000010F4 A 4 +
00000001 00000001 000010F8 A 4 +
00000001 00000001 000010FC A 4 +
00000001 00000001 00001100 A 4 +
00000001 00000001 00001104 A 4 +
00000001 00000001 00001108 A 4 +
00000001 00000001 00001118 A 4 +
00000001 00000001 0000111C A 4 +
00000001 00000001 00001120 A 4 +
00000001 00000001 00001124 A 4 +
00000001 00000001 000012B9 A 3 +
00000001 00000001 000012C1 A 3 +
00000001 00000001 000012C5 A 3 +
00000001 00000001 000012C9 A 3 +
00000001 00000001 00001638 A 4 +
00000001 00000001 00001644 A 4 +
00000001 00000001 000016F8 A 4 +
00000001 00000001 000016FC A 4 +
00000001 00000001 00001720 A 4 +
1 Relocation Dictionary Page 59
- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 08.42
0 00000001 00000001 00001724 A 4 +
00000001 00000002 0000007D A 3 +
00000003 00000001 00001815 A 3 +
00000003 00000001 00001819 A 3 +
00000003 00000001 00001821 A 3 +
1 Ordinary Symbol and Literal Cross Reference Page 60
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0ACARD 4 00000174 FFFFFFEB A A 2353 1859M
ANYBACK 8 000001D0 FFFFFFEB C C 2370 1868M 2034 2038
ASEXCP 6 00001452 00000001 I 1946 1933B
ASGNUNIT 4 000013DA 00000001 I 1917 1943B 1949B
ASIN 4 0000143A 00000001 I 1940 1929B
ASOUT 4 0000144A 00000001 I 1944 1931B
CARD 80 00000084 FFFFFFEB C C 2344 1858 1888 1897 1904 1971 1973 1975 1979 1981 1985
1987 1988
CARDLDR 1 00001770 00000002 J 43 62 66U
CAW 4 00000048 00000001 F F 142 74M 1369M 1481M 1561M
CAWSEM 4 00000194 00000001 F F 158 1367 1479 1559
CCBCON1 4 00000C30 00000001 X X 1412 1361 1471
CCWCHAIN 8 00001810 00000002 D D 123 73
CMPEXCP 6 00001434 00000001 I 1938 1932X
CMPIN 6 00001428 00000001 I 1936 1928X
CMPOUT 6 0000142E 00000001 I 1937 1930X
CONTINUE 4 000017FC 00000002 F F 119 96M
CORE 4 000001A8 FFFFFFEB F F 2363 1865M 1916M 1951 1954 2064
COREOK 4 000013D2 00000001 I 1915 1913B
COREPACK 6 00001648 00000001 I 2091 1908X
COREPCKD 8 00001650 00000001 D D 2092 1909 2091M
COREPKLN 4 00001658 00000001 X X 2093 1907
CORESIZ 4 00001264 00000001 A A 1817 1747
CORESIZE 1 01000000 00000001 A U 129 1817 2147
CSW 8 00000040 00000001 D D 141 106 1703 1704 1707
DIM 1 00001674 00000001 U 2117 2162
DIMAAS 4 000016C0 00000001 A A 2141 2122
DIMAS 1 00000000 FFFFFFEA J 2377 2129U 2384
DIMLEN 1 000000A0 FFFFFFEA A U 2384 2141
DIMLMS 8 00000090 FFFFFFEA C C 2381 2130M 2136 2138M
DIMLOOP 4 00001696 00000001 I 2132 2139B
DIMMSG 8 00000000 FFFFFFEA C C 2378 2132M 2133 2135 2136M
DIMSEM 4 000016B8 00000001 F F 2140 2120 2127
DIMTEMP 8 00000098 FFFFFFEA C C 2382 2135M 2138
EIGHT 4 00001808 00000002 F F 122 89
ENBLECH0 2 000017EE 00000002 C C 115 72
ENDADATA 6 00000BFE 00000001 I 1399 1390B
ENDCARD 4 0000153E 00000001 I 2013 1976B
EXCPCOMP 4 00000DB4 00000001 I 1547 1551B
EXCPDONE 4 00000E30 00000001 I 1581 1576B
EXCPFIND 2 00000DCA 00000001 I 1553 1548B
EXCPHAAS 4 00000E44 00000001 A A 1586 1527
EXCPHAS 1 00000000 FFFFFFED J 2322 1536U 2330
EXCPHM 8 00000018 FFFFFFED C C 2326 1566M 1567M 1568M 1569
EXCPHMSG 8 00000000 FFFFFFED C C 2323 1537 1568 1571
EXCPHNDL 1 00000D74 00000001 U 1521 2163
EXCPHSEM 4 00000E3C 00000001 F F 1585 1525 1532
EXCPLOOP 4 00000D92 00000001 I 1537 1542B 1583B
EXCPWAIT 4 00000DF0 00000001 I 1564 1578B
EXINTRPT 4 000012BC 00000001 I 1827 1834
EXPLOOP 6 0000159E 00000001 I 2044 2052B
EXPNXT 2 000015B4 00000001 I 2050 2047B
EXPUNGE 4 00001596 00000001 I 2041 1921B 1934B
EXTHANDL 1 0000027A 00000001 U 175 146 1832
EXTHRET 4 000002A8 00000001 I 191 180B 184B
1 Ordinary Symbol and Literal Cross Reference Page 61
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0EXTNEW 1 00000058 00000001 B B 146 1741M 1781M
EXTOLD 8 00000018 00000001 D D 136 179 187 192 1827
FETCHPRT 4 00001670 00000001 F F 2098 1957
FSB 1 00000000 FFFFFFFC J 2243 576U 662U 731U 740U
FSBNEXT 4 00000000 FFFFFFFC A A 2244 589 590 597 665 679 680 734 735 741M
FSBPTR 4 00000180 00000001 A A 155 572 573 660 661 727 728
FSBSEM 4 00000184 00000001 F F 156 570 616 658 693
FSBSIZE 4 00000004 FFFFFFFC F F 2245 585 598 669 672 677 732 742M
GWINC 4 00000586 00000001 I 458 455B
GWLOOP 4 00000576 00000001 I 454 460B
GWRUN 6 000005A0 00000001 I 465 457B
IDLE 1 00000598 00000001 B B 463 461
INSEQ 8 00001630 00000001 C C 2087 1873
IOBACK 4 00001036 00000001 I 1724 1701B
IOCOMP 6 00000FD2 00000001 I 1696 1700B
IODEVFND 6 00000FEC 00000001 I 1703 1697B
IOHANDL 1 00000FC4 00000001 U 1690 1830
IOHSAVE 4 000001DC 00000001 F F 161 1691M 1718 1724
IOINTRPT 1 000017DA 00000002 U 105 70 150
IOINTRTN 4 000017EA 00000002 I 110 107B
IONEW 1 00000078 00000001 B B 150 71M 448 1740M
IONOFPR 2 00001034 00000001 I 1723 1710B
IOOLD 8 00000038 00000001 D D 140 108M 109M 110 1694M 1696 1717 1725
IOWAIT 4 0000102C 00000001 I 1720 1714B
IPLAPCBS 4 00001258 00000001 A A 1814 1755
IPLCL 4 00001066 00000001 I 1748 1752B
IPLEXNEW 3 000012C9 00000001 R A 1834 1741
IPLLOOP 4 0000107C 00000001 I 1755 1780B
IPLPCB 8 00001110 00000001 C C 1804 1742 1805
IPLRTN 1 0000103E 00000001 U 1737 133
IPLTH 2 00001076 00000001 I 1753 1749B
JOB 4 00001384 00000001 I 1894 1889B
JOBBIT 1 0000007A FFFFFFEF C C 2307 1323M 1337 1342M 1403M
JSP 1 000012CC 00000001 U 1842 1825
JSPAAS 4 00001668 00000001 A A 2096 1847
JSPAS 1 00000000 FFFFFFEB J 2341 1852U 2375
JSPNEVER 4 00001618 00000001 F F 2083 1891
JSPSUSEM 4 00001660 00000001 F F 2095 1845 1853
KEY 4 0000018C FFFFFFEB F F 2358 1870M 1947 1955 2020
KEYTAB 1 000010DC 00000001 U 1792 1777
LENEXCPA 1 00000030 FFFFFFED A U 2330 1586
LENJSPAS 1 000001E0 FFFFFFEB A U 2375 2096
LENMSG 1 0000000C FFFFFFFA A U 2256 1073 1127
LENPCB 1 00000148 FFFFFFFF A U 2218 1595 1814
LENPRTHA 1 00000030 FFFFFFEE A U 2320 1511
LENRDRHA 1 00000080 FFFFFFEF A U 2309 1415
LINE 132 00000000 FFFFFFEB C C 2342 1863 1895M 1896M 1896 1897M 2029M 2030M 2030 2031M 2357
LOAD 4 00001462 00000001 I 1951 1919B
LOADADDR 4 00001800 00000002 F F 120 76
LOADCL 4 000015CE 00000001 I 2058 2063B
LOADD 4 000015E0 00000001 I 2064 2060B
LOADED 1 000001DD FFFFFFEB C C 2373 1894M 1953M 2053
LOADER 8 00001770 00000001 D D 2172 49 50 52
LOADLOOP 4 00001492 00000001 I 1966 1962B 1977B 1984B 2004B
LOADSK 4 00001480 00000001 I 1960 1965B
1 Ordinary Symbol and Literal Cross Reference Page 62
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0LOOP 4 00001354 00000001 I 1881 1890B 2054B 2066B
MEMORY 4 0000018C 00000001 F F 157 593 688
MSG 1 00000000 FFFFFFFA J 2251 839U 1050U 1139U 1147U 2256
MSGNEXT 4 00000004 FFFFFFFA A A 2253 840 1051 1142 1143 1148M
MSGSENDR 4 00000000 FFFFFFFA A A 2252 1068 1149M
MSGSIZE 4 00000008 FFFFFFFA F F 2254 841 1059 1061 1072 1151M
MSGTEXT 1 0000000C FFFFFFFA C C 2255 1084 1162M
NEXTCARD 2 0000179C 00000002 I 80 88B
NEXTTRY 4 00000274 00000001 A A 166 424M 451 465M 1744M
NEXTTRYM 1 00000278 00000001 C C 167 422 425M 466M 1720M
NOTALGND 6 00001520 00000001 I 2005 1992B
NUMCARDS 4 00001804 00000002 F F 121 75
OUTSEQ 8 0000163C 00000001 C C 2089 1877
PAGESIZE 4 0000165C 00000001 F F 2094 1748 1865 1960 2058
PCB 1 00000000 FFFFFFFF J 2196 182U 222U 317 318 319 373U 380U 419U 453U 473U
782U 825U 830U 834U 862U 917U 920U 924U 928U 931U
936U 956U 960U 963U 966U 970U 973U 977U 1003U 1013U
1070U 1086U 1122U 1164U 1198U 1209U 1248U 1260U 1712U 1761U
1765U 1769U 2016U 2043U 2218
PCBAADDR 4 00000048 FFFFFFFF A A 2213 621M 850
PCBASIZE 4 00000044 FFFFFFFF F F 2212 620M 852
PCBBLOKT 1 00000019 FFFFFFFF C C 2203 183 383M 421M 454 785 785M 1713 2017M 2024M
PCBFM 4 0000002C FFFFFFFF F F 2208 836 1049 1051M 1137 1138
PCBFSA 84 000000A0 FFFFFFFF C C 2215 318
PCBINSMC 1 0000001A FFFFFFFF C C 2204 492 494M 517 519M 1249
PCBISA 84 0000004C FFFFFFFF C C 2214 185 317 384M 468 785 1199 1715 1770 2021 2022M
2023M
PCBLPALL 4 00000014 FFFFFFFF F F 2201 918M 921M 957 964M
PCBLPTG 4 0000000C FFFFFFFF F F 2199 929M 932M 967 974M 1763M 1766M
PCBMSA 84 000000F4 FFFFFFFF C C 2216 319
PCBMSC 8 0000001C FFFFFFFF C C 2206 1047 1135
PCBMSR 8 00000024 FFFFFFFF C C 2207 1044 1157
PCBNAME 8 00000000 FFFFFFFF C C 2197 783M 1005 1071 1235 2044
PCBNPALL 4 00000010 FFFFFFFF F F 2200 458 465 914 915M 922M 958 961M
PCBNPTG 4 00000008 FFFFFFFF F F 2198 925 926M 933M 968 971M 1004 1762M 1767M 2045
PCBNSW 4 00000030 FFFFFFFF F F 2209 376 377 382M 420
PCBSES 8 0000003C FFFFFFFF C C 2211 527
PCBSRS 8 00000034 FFFFFFFF C C 2210 525 1255
PCBSTOPT 1 00000018 FFFFFFFF C C 2202 456 784M 826 1204M 1251M
PCBSW 1 0000001B FFFFFFFF C C 2205 522 524M 1254M
PGMHANDL 1 000002B0 00000001 U 194 148
PROGRAM 1 00000000 00000001 J 42 68U 127 2147
PROTCON1 4 00000C34 00000001 X X 1413 1348 1355 1458 1465
PROTCON2 4 00000C38 00000001 X X 1414 1351 1358 1461 1468
PRTHAAS 4 00000D68 00000001 A A 1511 1431
PRTHANDL 1 00000C48 00000001 U 1425 2090
PRTHAS 1 00000000 FFFFFFEE J 2311 1440U 2320
PRTHCCB 4 00000000 FFFFFFEE F F 2312 1441 1472M 1473M 1474M 1476M
PRTHCOMM 4 00000CEC 00000001 I 1479 1475B 1507B
PRTHLOOP 4 00000C6A 00000001 I 1442 1451B 1503B
PRTHM 8 0000001C FFFFFFEE C C 2316 1494M 1496M 1497M 1498M 1501
PRTHMSG 8 00000008 FFFFFFEE C C 2313 1442 1455 1498
PRTHNO 6 00000D26 00000001 I 1494 1463B 1470B
PRTHOK 6 00000D30 00000001 I 1496 1493B
PRTHPOK 4 00000CCA 00000001 I 1471 1456B
1 Ordinary Symbol and Literal Cross Reference Page 63
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0PRTHPRIN 4 00000C92 00000001 I 1453 1448B
PRTHSEM 4 00000D60 00000001 F F 1510 1429 1436
PRTHSEND 6 00000D36 00000001 I 1497 1495B
PRTHSTC1 6 00000CE0 00000001 I 1476 1450B
PRTHWAIT 4 00000D10 00000001 I 1488 1491B
PTSTATUS 2 00000D52 00000001 I 1504 1486B
QUANTUM 4 000005BC 00000001 X X 471 469
RDRHAAS 4 00000C3C 00000001 A A 1415 1313
RDRHANDL 1 00000AC6 00000001 U 1307 2088
RDRHAS 1 00000000 FFFFFFEF J 2298 1322U 2309
RDRHCCB 4 00000000 FFFFFFEF F F 2299 1324 1362M 1363M 1364M
RDRHEXC 4 00000BB8 00000001 I 1383 1379B
RDRHLOOP 4 00000AEC 00000001 I 1325 1330B 1398B
RDRHM 8 0000006C FFFFFFEF C C 2304 1385M 1391M 1392M 1393M 1396 1399M
RDRHMORE 4 00000B2E 00000001 I 1345 1338B
RDRHMSG 8 00000008 FFFFFFEF C C 2300 1325 1335 1345 1387 1393
RDRHNO 6 00000BC0 00000001 I 1385 1340B 1353B 1360B
RDRHOK 4 00000BCA 00000001 I 1387 1382B
RDRHPOK 4 00000B60 00000001 I 1361 1346B 1381B 1408B
RDRHSEM 4 00000C28 00000001 F F 1411 1311 1318
RDRHSEND 6 00000BE2 00000001 I 1392 1386B 1404B
RDRHSOK 6 00000BDC 00000001 I 1391 1343B 1388B
RDRHTEMP 80 0000001C FFFFFFEF C C 2303 1341 1400M
RDRHWAIT 4 00000B96 00000001 I 1374 1377B 1384B
RDSTATUS 2 00000C1C 00000001 I 1405 1372B
READ 1 000017F0 00000002 X X 116 81
REGS 1 00000000 FFFFFFFD J 2225 1773U
REG3 4 0000000C FFFFFFFD F F 2229 1776M
REG4 4 00000010 FFFFFFFD F F 2230 1777M
REPLY 132 000000E0 FFFFFFEB C C 2348 1886
RETURN 1 000004D8 00000001 B B 328 369 416 426 470 495 529 623 696 743 788
859 935 976 1011 1082 1160 1205 1253
RETURNR 1 000004E0 00000001 U 330 328
RLDCARD 4 000014E0 00000001 I 1987 1974B
RLDCONT 4 00001500 00000001 I 1996 2011B
RLDFINI 2 00001514 00000001 I 2001 1999B
RLDLOOP 4 000014E8 00000001 I 1989 2003B
RLDTEMP 4 000001B4 FFFFFFEB F F 2366 1869M 2005M 2006 2008M 2009 2010M
RREPLY 8 000000D4 FFFFFFEB C C 2346 1884 1900 1969
RREPLY1 4 000000DC FFFFFFEB F F 2347 1883M 1968M
RUNNING 4 00000270 00000001 A A 165 181 221 381 467M 1711 1743M 2041 2051
R11 1 0000000B 00000001 A U 2185 67M 68U 111D
R12 1 0000000C 00000001 A U 2186 63M 65M 66U 111D
R2 1 00000002 00000001 A U 2176 64M 65 69M 71 80M 81M 82 83M 84 95M
96
R3 1 00000003 00000001 A U 2177 70M 71 75M 88M
R4 1 00000004 00000001 A U 2178 76M 80 86M 86
R5 1 00000005 00000001 A U 2179 73M 74 82 84 85 87M 87 89M 90
SA 1 00000000 FFFFFFFE J 2220 186U 230U 1200U 1201 1203 1208U 1716U 1771U
SAPSW 8 00000000 FFFFFFFE D D 2221 187M 231M 331 1201M 1201 1202M 1717M
SAREGS 64 00000008 FFFFFFFE C C 2222 188M 232M 332 1203M 1203 1718M 1772
SATEMP 12 00000048 FFFFFFFE C C 2223 599 682 768 817 833 854 1115 1190 1239
SCAN 2 000015EA 00000001 I 2068 1905B 1917B 1927B
SCANLOOP 4 000015EC 00000001 I 2069 2077B
SEQ 8 0000019C FFFFFFEB C C 2361 1922 1923M 1926 1935M 2042 2044M 2046
1 Ordinary Symbol and Literal Cross Reference Page 64
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0SETDIM 6 0000143E 00000001 I 1941 1945B
SHORT 4 00001510 00000001 I 2000 1997B
SKIP 8 00001620 00000001 C C 2084 1861 2036
SM 1 00000000 FFFFFFFB J 2247 363U 411U 687U
SMPTR 4 00000004 FFFFFFFB F F 2249 370 371 417 420M
SMVAL 4 00000000 FFFFFFFB F F 2248 364 366M 412 414M 690
SOSEXNEW 3 000012C5 00000001 R A 1832 1781
SOSIONEW 3 000012C1 00000001 R A 1830 1740
STOP 4 0000137E 00000001 I 1891 1887B
STREAMS 4 000010C8 00000001 F F 1784 1754
SVCCONST 4 00000314 00000001 F F 241 215
SVCHANDL 1 000002B2 00000001 U 211 147
SVCHPROT 4 00000302 00000001 I 235 220B
SVCHTABL 1 00000328 00000001 X X 243 217 244 246 248 250 252 254 256 258 260
262 264 266 268 270 272 274 276 278 280
282 284
SVCOK 4 000002D0 00000001 I 221 237B 239B
SVCOLD 8 00000020 00000001 D D 137 216 228 231 235 331M 333
SVCRTN 8 00000428 00000001 D D 286 218 238
SVCSAVE 4 000004C8 00000001 F F 315 227
SVCXPER 4 000002FA 00000001 I 233 229B
SYSSEM 4 000002DE 00000001 I 226 224B
SYSSEMSA 84 0000021C 00000001 C C 163 316 384
TALK 8 000001B8 FFFFFFEB C C 2367 1866M 1867M 2026 2031
TEMPLATE 4 00001280 00000001 X X 1822 785
TIMER 4 00000050 00000001 F F 144 469M
TOKSTART 2 00001610 00000001 I 2078 2071B 2073B 2075B
TRAPSAVE 4 0000019C 00000001 F F 160 176M 188 191 212M 232
TREAD 4 00000164 FFFFFFEB F F 2349 1855M 1856M 1857M 1881 1966
TXTCARD 4 000014C6 00000001 I 1979 1972B
TXTMOV 6 000014DA 00000001 I 1985 1983X
TYPLEN 1 00000054 00000001 A U 1826 1759
TYPPCB 8 00001268 00000001 C C 1820 1759 1826
UCB 1 00000000 FFFFFFEC J 2332 1308U 1426U 1522U 1702U 2339
UCBADDR 4 00000000 FFFFFFEC F F 2333 1370 1484
UCBCSW 8 00000014 FFFFFFEC G F 2336 1365M 1366M 1376 1378 1380 1383M 1482M 1483M 1490 1492
1557M 1558M 1566 1703M 1705 1706M 1707M
UCBFPR 1 0000001C FFFFFFEC C C 2337 1709
UCBLENG 1 00000020 FFFFFFEC A U 2339 1549 1698
UCBLP1 4 000010EC 00000001 A A 1798 1787
UCBLP2 4 000010F4 00000001 A A 1799 1788
UCBLP3 4 000010FC 00000001 A A 1800 1789
UCBLP4 4 00001104 00000001 A A 1801 1790
UCBPRT1 4 00000EC4 00000001 X X 1627 1798
UCBPRT2 4 00000F04 00000001 X X 1641 1799
UCBPRT3 4 00000F44 00000001 X X 1655 1800
UCBPRT4 4 00000F84 00000001 X X 1669 1801
UCBRDR1 4 00000EA4 00000001 X X 1620 1798
UCBRDR2 4 00000EE4 00000001 X X 1634 1799
UCBRDR3 4 00000F24 00000001 X X 1648 1800
UCBRDR4 4 00000F64 00000001 X X 1662 1801
UCBTAB 1 000010CC 00000001 U 1786 1774 1777
UCBTABLE 4 00000EA4 00000001 F F 1618 1546 2152
UCBTBEND 1 00000FC4 00000001 U 1682 1606 2153
UCBUS 8 00000004 FFFFFFEC G F 2334 1333 1394 1453 1477 1499 1554 1581
1 Ordinary Symbol and Literal Cross Reference Page 65
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0UCBWS 8 0000000C FFFFFFEC G F 2335 1374 1406 1488 1505 1564 1708
UNAMMOV 6 00001422 00000001 I 1935 1924X
UNITRTN 4 000001A4 FFFFFFEB A A 2362 1941M 1946M
USERL 8 00000190 FFFFFFEB C C 2359 1860M 1902 2013 2015 2018M
VERYEND 8 00001740 00000001 D D 2171 155 1745M 2147
WAITPSWD 4 000017F8 00000002 X X 118 97
WRITE 8 00000178 FFFFFFEB C C 2354 1861M 1862M 1864M 1898 2032
XA 1 00000600 00000001 U 557 299 565U 1593
XABACK 2 000006B0 00000001 I 622 619B
XACOM 2 0000060E 00000001 I 566 560B
XAFOUND 4 00000662 00000001 I 596 588B
XALOOP 2 0000062A 00000001 I 577 591B
XANF 2 00000686 00000001 I 607 603B
XARETURN 4 0000069C 00000001 I 616 611B
XATOP 4 00000616 00000001 I 570 595B
XAUTO 1 00000608 00000001 U 561 313
XAWAIT 2 00000656 00000001 I 592 578B
XAX 1 00000000 FFFFFFF9 J 2258 568U 776U 1124U 1314U 1432U 1528U 1756U 1848U 2123U
XAXADDR 4 00000004 FFFFFFF9 F F 2260 596M 780 1133 1316 1434 1530 1758 1850 2125
XAXALGN 4 00000008 FFFFFFF9 F F 2261 574 778M 1131M
XAXSIZE 4 00000000 FFFFFFF9 F F 2259 569 777M 1130M
XB 1 00000744 00000001 U 722 298
XBINSERT 4 00000770 00000001 I 738 730B 733B
XBLOOP 4 0000075A 00000001 I 732 737B
XBX 1 00000000 FFFFFFF7 J 2267 600U 683U 724U
XBXADDR 4 00000004 FFFFFFF7 F F 2269 604M 612M 685M 726
XBXSIZE 4 00000000 FFFFFFF7 F F 2268 605M 613M 684M 725
XC 1 00000780 00000001 U 764 306
XCERR 2 000007C4 00000001 I 789 773B
XCOM 1 000005D2 00000001 U 514 297
XCOMRET 4 000005FC 00000001 I 529 521B 523B
XCX 1 00000000 FFFFFFF6 J 2271 767U
XCXNAME 8 00000000 FFFFFFF6 C C 2272 770 783
XD 1 000007C6 00000001 U 813 310
XDCHECK 6 0000081A 00000001 I 850 838B
XDERR 2 00000840 00000001 I 860 824B 827B
XDLOOP 2 000007F4 00000001 I 837 849B
XDTHEN 4 0000082E 00000001 I 855 851B
XDX 1 00000000 FFFFFFF5 J 2274 816U
XDXNAME 8 00000000 FFFFFFF5 C C 2275 819
XEXC 1 000005C0 00000001 U 489 296
XF 1 000006B6 00000001 U 649 300
XFBACKUP 2 00000706 00000001 I 678 670B
XFINC 4 00000708 00000001 I 679 674B
XFLINK 4 00000714 00000001 I 682 664B
XFLOOP 2 000006D4 00000001 I 663 681B
XFTHEN 2 000006F0 00000001 I 671 667B
XFVDO 2 0000073E 00000001 I 697 692B
XFVLOOP 4 0000072E 00000001 I 692 698B
XFX 1 00000000 FFFFFFF8 J 2263 653U 844U 1077U
XFXADDR 4 00000004 FFFFFFF8 F F 2265 655 845M 855M 1078M
XFXSIZE 4 00000000 FFFFFFF8 F F 2264 654 846M 856M 1079M
XH 1 00000842 00000001 U 882 312
XHLOOP 4 00000848 00000001 I 886 888B
XHMSG1 8 00000854 00000001 C C 890 884
1 Ordinary Symbol and Literal Cross Reference Page 66
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0XHMSG2 8 0000086C 00000001 C C 893 886
XI 1 0000087A 00000001 U 912 301
XJ 1 000008A6 00000001 U 953 302
XN 1 000008CA 00000001 U 998 307
XNX 1 00000000 FFFFFFF4 J 2277 769U 818U 1000U 1116U 1191U 1240U
XNXADDR 4 00000008 FFFFFFF4 A A 2279 772 821 1010M 1119 1194 1243
XNXFOUND 4 000008E4 00000001 I 1010 1006B
XNXLOOP 4 000008CC 00000001 I 1004 1008B
XNXNAME 8 00000000 FFFFFFF4 C C 2278 770M 819M 1005 1117M 1192M 1241M
XP 1 000004EE 00000001 U 361 294
XPER 1 0000056A 00000001 U 447 189B 303 385B 463
XPLOOP 2 0000050A 00000001 I 374 378B
XPTHEN 6 0000051C 00000001 I 381 375B
XPWAIT 4 00000502 00000001 I 370 368B
XQUE 1 00000A8E 00000001 U 1279 311
XQUELOOP 4 00000A94 00000001 I 1283 1285B
XQUEM1 8 00000AA0 00000001 C C 1287 1281
XQUEM2 8 00000AB8 00000001 C C 1290 1283
XR 1 000008EC 00000001 U 1040 304
XRAFT 4 00000938 00000001 I 1066 1064B
XRFILL 6 0000096C 00000001 I 1083 1057X
XRMOVE 6 00000972 00000001 I 1084 1065X
XRNOB 4 0000091C 00000001 I 1058 1056B
XRTHEN 2 0000092E 00000001 I 1063 1060B
XRX 1 00000000 FFFFFFF3 J 2281 1043U 1326U 1336U 1443U 1538U 1572U
XRXNAME 8 00000000 FFFFFFF3 C C 2282 1071M 1339
XRXSIZE 4 00000008 FFFFFFF3 F F 2283 1053 1067M 1327M 1444M 1539M 1573M
XRXTEXT 1 0000000C FFFFFFF3 C C 2284 1055M 1083M 1083 1084M 1329 1331 1446 1447 1449 1541
1543 1544 1575 1577
XS 1 00000978 00000001 U 1111 305
XSADD 4 000009D2 00000001 I 1145 1141B
XSAFT 2 000009F4 00000001 I 1156 1154B
XSERR 2 00000A02 00000001 I 1161 1121B
XSLOOP 2 000009C0 00000001 I 1140 1144B
XSMOVE 6 00000A04 00000001 I 1162 1155X
XSX 1 00000000 FFFFFFF2 J 2286 1114U
XSXNAME 8 00000000 FFFFFFF2 C C 2287 1117
XSXSIZE 4 00000008 FFFFFFF2 F F 2288 1126 1150
XSXTEXT 1 0000000C FFFFFFF2 C C 2289 1162
XV 1 00000534 00000001 U 409 295
XVRET 4 00000566 00000001 I 426 423B
XVWAKEUP 4 00000548 00000001 I 417 415B
XY 1 00000A0A 00000001 U 1186 308
XYERR 2 00000A40 00000001 I 1206 1196B
XYX 1 00000000 FFFFFFF1 J 2291 1189U
XYXADDR 4 00000008 FFFFFFF1 A A 2293 1202
XYXNAME 8 00000000 FFFFFFF1 C C 2292 1192
XZ 1 00000A42 00000001 U 1231 309
XZERR 2 00000A8C 00000001 I 1258 1238B 1245B
XZFINE 4 00000A54 00000001 I 1239 1236B
XZINSMC 4 00000A7E 00000001 I 1254 1250B
XZSTOP 4 00000A6C 00000001 I 1249 1257B
XZX 1 00000000 FFFFFFF0 J 2295 1234U
XZXNAME 8 00000000 FFFFFFF0 C C 2296 1237 1241
=A(DIM) 4 00001720 00000001 A 2162 1941
1 Ordinary Symbol and Literal Cross Reference Page 67
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0=A(EXCPHNDL)
4 00001724 00000001 A 2163 1946
=A(LENPCB)
4 00000E64 00000001 A 1595 777 856
=A(UCBTABLE)
4 000016F8 00000001 A 2152 1695
=A(UCBTBEND)
4 00000E90 00000001 A 1606 1550
=A(UCBTBEND)
4 000016FC 00000001 A 2153 1699
=A(XA) 4 00000E5C 00000001 A 1593 564
=A(0) 4 00000E60 00000001 A 1594 772 850 1148 1365 1366 1482 1483 1557 1558
=A(0) 4 00001714 00000001 A 2159 1869
=A(0,CORESIZE-(VERYEND-PROGRAM))
4 000016D0 00000001 A 2147 1745
=C'$JOB,'
5 00000E98 00000001 C 1609 1389
=C'$JOB,'
5 0000172A 00000001 C 2165 1888
=C'AGAIN'
5 00000E9D 00000001 C 1610 1577
=C'END' 3 0000173D 00000001 C 2170 1975
=C'EXCP '
5 00001732 00000001 C 2167 1938
=C'EXCP' 4 00000E8C 00000001 C 1605 1541
=C'IN ' 3 0000172F 00000001 C 2166 1936
=C'NO' 2 00000E94 00000001 C 1607 1385 1399 1494
=C'OK' 2 00000E96 00000001 C 1608 1391 1496 1575
=C'OK' 2 00001728 00000001 C 2164 1886
=C'OUT ' 4 0000171C 00000001 C 2161 1937
=C'PRIN' 4 00000E7C 00000001 C 1601 1447
=C'PRIN' 4 00001708 00000001 C 2156 1862
=C'READ' 4 00000E74 00000001 C 1599 1329
=C'READ' 4 00001704 00000001 C 2155 1857
=C'RLD' 3 0000173A 00000001 C 2169 1973
=C'STC1' 4 00000E80 00000001 C 1602 1449
=C'TXT' 3 00001737 00000001 C 2168 1971
=CL8' ' 8 000016E8 00000001 C 2150 1895 1923 2029
=CL8'*IN'
8 000016D8 00000001 C 2148 1855 1940
=CL8'*OUT'
8 000016F0 00000001 C 2151 1944
=CL8'USERPROG'
8 000016E0 00000001 C 2149 1860 1866
=F'-8' 4 00000E6C 00000001 F 1597 843 1075 1129
=F'1' 4 00000E58 00000001 F 1592 413
=F'1' 4 00001710 00000001 F 2158 1868
=F'12' 4 00000E88 00000001 F 1604 1539 1567
=F'12' 4 0000170C 00000001 F 2157 1867
=F'132' 4 00000E84 00000001 F 1603 1474
=F'132' 4 00001718 00000001 F 2160 1883 1968
=F'2' 4 00000E70 00000001 F 1598 1054 1392 1497
=F'8' 4 00000E68 00000001 F 1596 778 1131 1327 1444 1573
=F'8' 4 00001700 00000001 F 2154 1856
=F'80' 4 00000E78 00000001 F 1600 1364
1 Ordinary Symbol and Literal Cross Reference Page 68
-Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42
0=X'8900000020000001'
8 00000E50 00000001 X 1591 1476
1 Unreferenced Symbols Defined in CSECTs Page 69
- Defn Symbol HLASM R6.0 2016/08/29 08.42
0 50 CCW1
52 CCW2
47 IPLCARD
134 IPLCCW1
135 IPLCCW2
133 IPLPSW
149 MCHKNEW
139 MCHKOLD
148 PGMNEW
138 PGMOLD
48 PSWD
2174 R0
2175 R1
2184 R10
2187 R13
2188 R14
2189 R15
2180 R6
2181 R7
2182 R8
2183 R9
147 SVCNEW
1676 UCBCONS1
143 UNUSED0
145 UNUSED1
1 Dsect Cross Reference Page 70
-Dsect Length Id Defn HLASM R6.0 2016/08/29 08.42
0DIMAS 000000A0 FFFFFFEA 2377
EXCPHAS 00000030 FFFFFFED 2322
FSB 00000008 FFFFFFFC 2243
JSPAS 000001E0 FFFFFFEB 2341
MSG 0000000C FFFFFFFA 2251
PCB 00000148 FFFFFFFF 2196
PRTHAS 00000030 FFFFFFEE 2311
RDRHAS 00000080 FFFFFFEF 2298
REGS 00000040 FFFFFFFD 2225
SA 00000054 FFFFFFFE 2220
SM 00000008 FFFFFFFB 2247
UCB 00000020 FFFFFFEC 2332
XAX 0000000C FFFFFFF9 2258
XBX 00000008 FFFFFFF7 2267
XCX 00000008 FFFFFFF6 2271
XDX 00000008 FFFFFFF5 2274
XFX 00000008 FFFFFFF8 2263
XNX 0000000C FFFFFFF4 2277
XRX 0000000C FFFFFFF3 2281
XSX 0000000C FFFFFFF2 2286
XYX 0000000C FFFFFFF1 2291
XZX 00000008 FFFFFFF0 2295
1 Using Map Page 71
- HLASM R6.0 2016/08/29 08.42
Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text
Count Id Type Value Range Id Disp Stmt
0 66 00001778 00000002 USING ORDINARY 00001770 00001000 00000002 12 000A0 107 CARDLDR,R12
68 0000177C 00000002 USING ORDINARY 00000000 00001000 00000001 11 00078 110 PROGRAM,R11
111 000017EE 00000002 DROP 11 R11
111 000017EE 00000002 DROP 12 R12
131 00000000 00000001 USING ORDINARY 00000000 00001000 00000001 0 00C38 2051 *,0
178 00000280 00000001 USING ORDINARY 00000280 00001000 00000001 1 002EA 189 *,1
182 0000028C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 185 PCB,15
186 00000298 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00008 188 SA,14
190 000002A8 00000001 DROP 14 14
190 000002A8 00000001 DROP 15 15
214 000002B8 00000001 USING ORDINARY 000002B8 00001000 00000001 9 00210 239 *,9
222 000002D4 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15
230 000002EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00048 1190 SA,14
240 00000314 00000001 DROP 9 9
362 000004EE 00000001 USING ORDINARY 000004EE 00001000 00000001 1 0007C 385 *,1
363 000004EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00004 371 SM,2
372 0000050A 00000001 DROP 15 15
373 0000050A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 5 00030 377 PCB,5
379 0000051C 00000001 DROP 5 5
380 0000051C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 384 PCB,15
386 00000534 00000001 DROP 2 2
410 00000534 00000001 USING ORDINARY 00000534 00001000 00000001 1 00924 423 *,1
411 00000534 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00004 420 SM,2
418 0000054C 00000001 DROP 15 15
419 0000054C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 00030 421 PCB,4
427 0000056A 00000001 DROP 2 2
427 0000056A 00000001 DROP 4 4
450 00000570 00000001 USING ORDINARY 00000570 00001000 00000001 1 0004C 469 *,1
453 00000576 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0004C 468 PCB,10
472 000005C0 00000001 DROP 10 10
473 000005C0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00048 621 PCB,15
490 000005C0 00000001 USING ORDINARY 000005C0 00001000 00000001 1 00000 *,1
515 000005D2 00000001 USING ORDINARY 000005D2 00001000 00000001 1 0002A 523 *,1
558 00000600 00000001 USING ORDINARY 00000600 00001000 00000001 1 0000E 560 *,1
562 00000608 00000001 USING ORDINARY 00000608 00001000 00000001 1 00854 564 *,1
565 0000060E 00000001 USING ORDINARY 00000600 00001000 00000001 1 000B0 619 XA,1
568 00000612 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 7 00008 596 XAX,7
576 0000062A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 4 00004 598 FSB,4
600 00000674 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 613 XBX,2
615 0000069C 00000001 DROP 2 2
624 000006B6 00000001 DROP 4 4
624 000006B6 00000001 DROP 7 7
650 000006B6 00000001 USING ORDINARY 000006B6 00001000 00000001 1 00088 698 *,1
653 000006BA 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 7 00004 655 XFX,7
662 000006D4 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 6 00004 680 FSB,6
683 00000718 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 685 XBX,2
687 00000722 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00000 690 SM,2
691 0000072E 00000001 DROP 2 2
699 00000744 00000001 DROP 6 6
699 00000744 00000001 DROP 7 7
723 00000744 00000001 USING ORDINARY 00000744 00001000 00000001 1 0002C 737 *,1
724 00000744 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 726 XBX,2
731 0000075A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 6 00004 735 FSB,6
1 Using Map Page 72
- HLASM R6.0 2016/08/29 08.42
Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text
Count Id Type Value Range Id Disp Stmt
0 739 00000774 00000001 DROP 6 6
740 00000774 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 4 00004 742 FSB,4
744 00000780 00000001 DROP 2 2
744 00000780 00000001 DROP 4 4
765 00000780 00000001 USING ORDINARY 00000780 00001000 00000001 1 00B01 785 *,1
767 00000782 00000001 USING ORDINARY 00000000 00001000 FFFFFFF6 7 00000 783 XCX,7
769 00000786 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 772 XNX,2
775 0000079A 00000001 DROP 2 2
776 0000079A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00008 780 XAX,2
781 000007AC 00000001 DROP 2 2
781 000007AC 00000001 DROP 15 15
782 000007AC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00019 785 PCB,2
790 000007C6 00000001 DROP 2 2
790 000007C6 00000001 DROP 7 7
814 000007C6 00000001 USING ORDINARY 000007C6 00001000 00000001 1 006A6 856 *,1
816 000007C8 00000001 USING ORDINARY 00000000 00001000 FFFFFFF5 7 00000 819 XDX,7
818 000007CC 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 821 XNX,2
822 000007D8 00000001 DROP 2 2
825 000007DE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00018 826 PCB,2
829 000007E8 00000001 DROP 2 2
830 000007E8 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15
834 000007F0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 8 00048 852 PCB,8
835 000007F0 00000001 DROP 15 15
839 000007FA 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 9 00008 841 MSG,9
844 0000080A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 2 00004 856 XFX,2
861 00000842 00000001 DROP 2 2
861 00000842 00000001 DROP 7 7
861 00000842 00000001 DROP 8 8
861 00000842 00000001 DROP 9 9
862 00000842 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00010 915 PCB,15
883 00000842 00000001 USING ORDINARY 00000842 00001000 00000001 1 0002A 888 *,1
913 0000087A 00000001 USING ORDINARY 0000087A 00001000 00000001 1 00000 *,1
916 00000882 00000001 DROP 15 15
917 00000882 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00014 918 PCB,10
919 00000886 00000001 DROP 10 10
920 00000886 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00014 922 PCB,2
923 0000088E 00000001 DROP 2 2
924 0000088E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00008 926 PCB,15
927 00000896 00000001 DROP 15 15
928 00000896 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0000C 929 PCB,10
930 0000089A 00000001 DROP 10 10
931 0000089A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 933 PCB,2
934 000008A2 00000001 DROP 2 2
936 000008A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15
954 000008A6 00000001 USING ORDINARY 000008A6 00001000 00000001 1 00000 *,1
955 000008A6 00000001 DROP 15 15
956 000008A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00014 958 PCB,2
959 000008AE 00000001 DROP 2 2
960 000008AE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 11 00010 961 PCB,11
962 000008B2 00000001 DROP 11 11
963 000008B2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00014 964 PCB,10
965 000008B6 00000001 DROP 10 10
966 000008B6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 968 PCB,2
1 Using Map Page 73
- HLASM R6.0 2016/08/29 08.42
Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text
Count Id Type Value Range Id Disp Stmt
0 969 000008BE 00000001 DROP 2 2
970 000008BE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 11 00008 971 PCB,11
972 000008C2 00000001 DROP 11 11
973 000008C2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0000C 974 PCB,10
975 000008C6 00000001 DROP 10 10
977 000008CA 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15
999 000008CA 00000001 USING ORDINARY 000008CA 00001000 00000001 1 0001A 1008 *,1
1000 000008CA 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1010 XNX,2
1002 000008CC 00000001 DROP 15 15
1003 000008CC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00008 1005 PCB,10
1012 000008EC 00000001 DROP 2 2
1012 000008EC 00000001 DROP 10 10
1013 000008EC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0002C 1051 PCB,15
1041 000008EC 00000001 USING ORDINARY 000008EC 00001000 00000001 1 00584 1075 *,1
1043 000008EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 7 0000D 1084 XRX,7
1050 00000900 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 5 0000C 1084 MSG,5
1069 00000944 00000001 DROP 15 15
1070 00000944 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00000 1071 PCB,10
1077 0000095C 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 2 00004 1079 XFX,2
1085 00000978 00000001 DROP 2 2
1085 00000978 00000001 DROP 5 5
1085 00000978 00000001 DROP 7 7
1085 00000978 00000001 DROP 10 10
1086 00000978 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15
1112 00000978 00000001 USING ORDINARY 00000978 00001000 00000001 1 004F4 1155 *,1
1114 0000097A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF2 7 0000C 1162 XSX,7
1116 0000097E 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1119 XNX,2
1122 00000990 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 0002C 1157 PCB,4
1123 00000990 00000001 DROP 2 2
1123 00000990 00000001 DROP 15 15
1124 00000990 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00008 1133 XAX,2
1134 000009B2 00000001 DROP 2 2
1139 000009C0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 9 00004 1143 MSG,9
1146 000009D6 00000001 DROP 9 9
1147 000009D6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 5 0000C 1162 MSG,5
1163 00000A0A 00000001 DROP 4 4
1163 00000A0A 00000001 DROP 5 5
1163 00000A0A 00000001 DROP 7 7
1164 00000A0A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15
1187 00000A0A 00000001 USING ORDINARY 00000A0A 00001000 00000001 1 00036 1196 *,1
1189 00000A0C 00000001 USING ORDINARY 00000000 00001000 FFFFFFF1 7 00009 1202 XYX,7
1191 00000A10 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1194 XNX,2
1197 00000A22 00000001 DROP 2 2
1197 00000A22 00000001 DROP 14 14
1197 00000A22 00000001 DROP 15 15
1198 00000A22 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0004C 1204 PCB,10
1200 00000A26 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 13 00008 1203 SA,13
1207 00000A42 00000001 DROP 7 7
1207 00000A42 00000001 DROP 10 10
1207 00000A42 00000001 DROP 13 13
1208 00000A42 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00048 1239 SA,14
1209 00000A42 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 1235 PCB,15
1232 00000A42 00000001 USING ORDINARY 00000A42 00001000 00000001 1 0004A 1257 *,1
1 Using Map Page 74
- HLASM R6.0 2016/08/29 08.42
Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text
Count Id Type Value Range Id Disp Stmt
0 1234 00000A44 00000001 USING ORDINARY 00000000 00001000 FFFFFFF0 7 00000 1241 XZX,7
1240 00000A58 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1243 XNX,2
1247 00000A6C 00000001 DROP 2 2
1247 00000A6C 00000001 DROP 15 15
1248 00000A6C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00034 1255 PCB,10
1259 00000A8E 00000001 DROP 10 10
1259 00000A8E 00000001 DROP 7 7
1260 00000A8E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15
1280 00000A8E 00000001 USING ORDINARY 00000A8E 00001000 00000001 1 0002A 1285 *,1
1293 00000AC6 00000001 DROP 14 14
1293 00000AC6 00000001 DROP 15 15
1308 00000AC6 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1406 UCB,3
1310 00000AC8 00000001 USING ORDINARY 00000AC8 00001000 00000001 1 003D0 1408 *,1
1314 00000AD2 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1316 XAX,2
1317 00000AD8 00000001 DROP 2 2
1322 00000AE4 00000001 USING ORDINARY 00000000 00001000 FFFFFFEF 12 0007A 1403 RDRHAS,12
1326 00000AF0 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00010 1331 XRX,2
1332 00000B06 00000001 DROP 2 2
1336 00000B10 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00000 1339 XRX,2
1344 00000B2E 00000001 DROP 2 2
1409 00000C28 00000001 DROP 3 3
1409 00000C28 00000001 DROP 12 12
1426 00000C48 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1505 UCB,3
1428 00000C4A 00000001 USING ORDINARY 00000C4A 00001000 00000001 1 0024C 1507 *,1
1432 00000C54 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1434 XAX,2
1435 00000C5A 00000001 DROP 2 2
1440 00000C66 00000001 USING ORDINARY 00000000 00001000 FFFFFFEE 12 00028 1501 PRTHAS,12
1443 00000C6E 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00010 1449 XRX,2
1452 00000C92 00000001 DROP 2 2
1508 00000D5E 00000001 DROP 3 3
1508 00000D5E 00000001 DROP 12 12
1522 00000D74 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1581 UCB,3
1524 00000D76 00000001 USING ORDINARY 00000D76 00001000 00000001 1 0012E 1583 *,1
1528 00000D80 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1530 XAX,2
1531 00000D86 00000001 DROP 2 2
1536 00000D92 00000001 USING ORDINARY 00000000 00001000 FFFFFFED 12 00024 1571 EXCPHAS,12
1538 00000D96 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00014 1544 XRX,2
1545 00000DB0 00000001 DROP 2 2
1572 00000E12 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 0000C 1577 XRX,2
1580 00000E30 00000001 DROP 2 2
1584 00000E3A 00000001 DROP 3 3
1584 00000E3A 00000001 DROP 12 12
1693 00000FCA 00000001 USING ORDINARY 00000FCA 00001000 00000001 1 00732 1714 *,1
1702 00000FEC 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 6 0001C 1709 UCB,6
1712 00001014 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 1715 PCB,15
1716 00001020 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 13 00008 1718 SA,13
1719 0000102C 00000001 DROP 13 13
1719 0000102C 00000001 DROP 15 15
1726 0000103E 00000001 DROP 1 1
1726 0000103E 00000001 DROP 6 6
1739 00001040 00000001 USING ORDINARY 00001040 00001000 00000001 1 00700 1781 *,1
1756 00001080 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1758 XAX,2
1761 0000108E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 1763 PCB,2
1 Using Map Page 75
- HLASM R6.0 2016/08/29 08.42
Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text
Count Id Type Value Range Id Disp Stmt
0 1764 00001096 00000001 DROP 2 2
1765 00001096 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0000C 1767 PCB,15
1768 0000109E 00000001 DROP 15 15
1769 0000109E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0004C 1770 PCB,2
1771 000010A2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 8 00008 1772 SA,8
1773 000010A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFD 9 00010 1777 REGS,9
1778 000010B8 00000001 DROP 9 9
1844 000012CE 00000001 USING ORDINARY 000012CE 00001000 00000001 1 0046F 2091 *,1
1848 000012D8 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1850 XAX,2
1851 000012DE 00000001 DROP 2 2
1852 000012DE 00000001 USING ORDINARY 00000000 00001000 FFFFFFEB 12 001DD 2064 JSPAS,12
2016 00001548 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 0004D 2024 PCB,4
2025 00001566 00000001 DROP 4 4
2043 0000159E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 5 00008 2045 PCB,5
2119 00001676 00000001 USING ORDINARY 00001676 00001000 00000001 1 0004A 2139 *,1
2123 00001680 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 2125 XAX,2
2126 00001686 00000001 DROP 2 2
2129 0000168C 00000001 USING ORDINARY 00000000 00001000 FFFFFFEA 12 00098 2138 DIMAS,12
2144 000016CC 00000001 DROP 12 12
1 General Purpose Register Cross Reference Page 76
- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 08.42
0 0(0) 131U 176 191M 212 332M 559M 563M 563 618M 618 1691 1724M
1(1) 176 177M 178U 191M 212 233M 332M 362U 410U 449M 450U 490U 515U 558U 562U 564M 565U 650U
723U 765U 814U 883U 913U 954U 999U 1041U 1112U 1187U 1232U 1280U 1309M 1310U 1427M 1428U 1523M 1524U
1691 1692M 1693U 1724M 1726D 1738M 1739U 1843M 1844U 2118M 2119U
2(2) 64M 65 69M 71 80M 81M 82 83M 84 95M 96 176 191M 212 332M 363U 386D 411U
427D 525M 527M 567 570M 593M 599M 600U 615D 616M 652 658M 682M 683U 687U 688M 691D 693M
724U 744D 766 768M 769U 775D 776U 780M 781D 782U 790D 815 817M 818U 821M 822D 823M 823
825U 829D 832 833M 844U 852M 854M 861D 884M 886M 915 918 920U 923D 926 929 931U 934D
956U 959D 966U 969D 1000U 1012D 1042 1044M 1047M 1076M 1077U 1085D 1113 1115M 1116U 1123D 1124U 1134D
1135M 1157M 1188 1190M 1191U 1197D 1233 1239M 1240U 1247D 1255M 1281M 1283M 1311M 1313M 1314U 1317D 1318M
1325M 1326U 1332D 1333M 1335M 1336U 1344D 1367M 1374M 1394M 1396M 1406M 1429M 1431M 1432U 1435D 1436M 1442M
1443U 1452D 1453M 1477M 1479M 1488M 1499M 1501M 1505M 1525M 1527M 1528U 1531D 1532M 1537M 1538U 1545D 1554M
1559M 1564M 1569M 1571M 1572U 1580D 1581M 1691 1708M 1724M 1747M 1748M 1755M 1756U 1758M 1759 1761U 1762
1763 1764D 1769U 1845M 1847M 1848U 1851D 1853M 1858M 1859 1873M 1877M 1881M 1884M 1891M 1898M 1900M 1902M
1922M 1926M 1951M 1966M 1969M 2013M 2026M 2032M 2034M 2036M 2038M 2042M 2064M 2120M 2122M 2123U 2126D 2127M
2133M
3(3) 70M 71 75M 88M 176 191M 212 332M 364M 365M 366 367M 367 412M 413M 414 585M 586M
587 654M 656 669M 677M 684 725M 732 742 1126M 1127M 1127N 1128M 1128N 1129M 1130 1308U 1409D
1426U 1508D 1522U 1553M 1584D 1691 1724M 1746M 1871 1872M 1876M 1905M 1917M 1927M 1958M 1959M 1960M 1961
2056M 2057M 2058M 2059 2081B
4(4) 76M 80 86M 86 176 191M 212 332M 370M 376M 381 417M 419U 424 427D 573M 576U 577M
577 579 584 590M 602 604 624D 655M 657 673 676M 685 726M 738 740U 744D 1119M 1120M
1120 1122U 1163D 1320M 1352 1359 1438M 1462 1469 1534M 1535M 1556 1691 1724M 1753M 1753 1775 1779M
1779N 1870 1904M 1918 1955M 1956M 1957M 1998M 2000M 2001 2002 2015M 2016U 2025D 2045M 2050 2055M 2069M
2069N 2070 2072 2074 2078
5(5) 73M 74 82 84 85 87M 87 89M 90 176 191M 212 332M 371M 373U 374M 374 377M
379D 382 572M 589M 597 656M 657M 666 1049M 1050U 1076 1078 1085D 1133M 1145 1147U 1163D 1331M
1341 1347 1354N 1361M 1362 1389 1400 1401 1402 1402 1446M 1457 1464N 1471M 1472 1543M 1547 1562
1691 1724M 1754M 1780M 1863M 1864 1871M 1872N 1876N 1906M 1907M 1908 1924 1928 1930 1932 2020M 2021M
2022 2041M 2043U 2050M 2051 2068M 2068 2076M 2076N 2079 2080M
6(6) 176 191M 212 332M 569M 587 608 610 620 661M 662U 663M 663 666 671 676 678M 680M
699D 728M 729M 729 731U 735M 736M 736 739D 741 1053M 1054M 1057 1058M 1058N 1059 1061M 1062M
1063M 1063 1065 1066M 1066N 1067 1072M 1073M 1073N 1074M 1074N 1075M 1079 1150M 1151 1152M 1153M 1153
1155 1324M 1369 1441M 1481 1544M 1556M 1561 1691 1695M 1696 1698M 1698N 1699 1702U 1724M 1726D
7(7) 176 191M 212 332M 567M 568U 624D 652M 653U 699D 766M 767U 790D 815M 816U 861D 1042M 1043U
1085D 1113M 1114U 1163D 1188M 1189U 1207D 1233M 1234U 1259D 1370M 1371 1484M 1485 1546M 1547N 1549M 1549N
1550 1553 1691 1704M 1705M 1706 1724M 1993M 1994M 1995 2006M 2007M 2008
8(8) 176 191M 212 332M 491M 491 492M 493M 493N 494 516M 516 517M 518M 519 520M 520 574M
575M 581 660M 668N 675N 678 679M 727M 734M 738N 832M 834U 855 861D 1137M 1142M 1145N 1691
1724M 1770M 1771U 1909M 1911M 1914M 1914 1915M 1916 1959 2057 2131M 2132
9(9) 176 191M 212 213M 214U 240D 332M 583M 584M 586 665M 668 675 836M 837M 837 839U 845
848M 861D 1138M 1139U 1140M 1140 1143M 1146D 1691 1724M 1772M 1773U 1778D 1910M 1910 1911M 1912M 1912
1920 1935 1936 1937 1938 1954M 1958 1961 1980 1990 1994 2007 2018 2056 2059 2078M 2079M 2091
10(A) 176 191M 212 215M 216M 217M 217N 218M 218N 219 223 226N 233N 234 238M 332M 451M 452
453U 458M 459 467 472D 601M 602M 605 609 671M 672M 673 840M 848 914M 917U 919D 922
925M 928U 930D 933 958M 961 963U 965D 968M 971 973U 975D 1001M 1003U 1004M 1007 1009M 1010
1012D 1068M 1070U 1085D 1194M 1195M 1195 1198U 1207D 1243M 1244M 1244 1248U 1259D 1321M 1321 1351M 1352
1358M 1359 1439M 1439 1461M 1462 1468M 1469 1691 1724M 1774M 1775M 1776 1777 1979M 1980M 1985 1989M
1990M 1993N 1995N 2005 2009
11(B) 67M 68U 111D 176 191M 212 215M 226M 227N 332M 452M 459 607M 608M 612 689M 690M 692M
841M 842M 842N 843M 846 957M 960U 962D 964 967M 970U 972D 974 1347M 1348M 1354M 1355M 1457M
1458M 1464M 1465M 1534 1691 1724M 1940M 1944M 1947M 1981M 1982M 1983 1987M 2002M 2130
12(C) 63M 65M 66U 111D 176 191M 212 215M 235M 236M 332M 598M 609M 610M 613 1316M 1322U 1409D
1434M 1440U 1508D 1530M 1536U 1584D 1691 1724M 1850M 1852U 2125M 2129U 2144D
13(D) 176 191M 212 215M 236 332M 579M 580M 581M 582M 582N 583 596 601 607 621 1199M 1200U
1 General Purpose Register Cross Reference Page 77
- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 08.42
0 1207D 1691 1715M 1716U 1719D 1724M 1988M 1989N 1991 1996 2001M
14(E) 176 185M 186U 190D 191M 212 215M 225M 227M 230U 332M 468M 1197D 1201 1203 1208U 1293D 1691
1724M
15(F) 176 181M 182U 190D 191M 212 221M 222U 225 332M 372D 380U 418D 473U 781D 830U 835D 862U
916D 921 924U 927D 932 936U 955D 977U 1001 1002D 1007 1013U 1069D 1086U 1123D 1149 1164U 1197D
1209U 1247D 1260U 1293D 1691 1711M 1712U 1719D 1724M 1742M 1743 1744 1765U 1766 1767 1768D
1 Diagnostic Cross Reference and Assembler Summary Page 78
- HLASM R6.0 2016/08/29 08.42
0Statements Flagged
0 178(P1,178), 214(P1,214), 362(P1,362), 410(P1,410), 450(P1,450), 490(P1,490), 515(P1,515), 558(P1,558),
562(P1,562), 565(P1,565), 650(P1,650), 723(P1,723), 765(P1,765), 814(P1,814), 834(P1,834), 883(P1,883), 913(P1,913),
954(P1,954), 999(P1,999), 1041(P1,1041), 1112(P1,1112), 1122(P1,1122), 1187(P1,1187), 1232(P1,1232), 1280(P1,1280),
1310(P1,1310), 1428(P1,1428), 1524(P1,1524), 1693(P1,1673)
29 Statements Flagged in this Assembly 4 was Highest Severity Code
0HIGH LEVEL ASSEMBLER, 5696-234, RELEASE 6.0, PTF UK37157
0SYSTEM: z/OS 01.10.00 JOBNAME: IBMUSER7 STEPNAME: *OMVSEX PROCSTEP: (NOPROC)
0Data Sets Allocated for this Assembly
Con DDname Data Set Name Volume Member
P1 SYSIN /mbhfs/sos4k.asm
L1 SYSLIB CEE.SCEEMAC ZAPRD2
L2 SYS1.MACLIB ZARES1
L3 SYS1.MODGEN ZARES1
SYSLIN /mbhfs/sos4k.o
SYSPRINT /dev/fd1
SYSTERM /dev/fd2
1028584K allocated to Buffer Pool Storage required 360K
2341 Primary Input Records Read 0 Library Records Read 0 Work File Reads
0 ASMAOPT Records Read 3473 Primary Print Records Written 0 Work File Writes
137 Object Records Written 0 ADATA Records Written
0Assembly Start Time: 08.42.21 Stop Time: 08.42.22 Processor Time: 00.00.00.3254
Return Code 004