mirror of
https://github.com/moshix/mvs.git
synced 2026-01-11 23:43:00 +00:00
3474 lines
361 KiB
Plaintext
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
|