J E S 2 J O B L O G 10.16.51 JOB 21 IEF677I WARNING MESSAGE(S) FOR JOB MCPI#ASM ISSUED 10.16.51 JOB 21 $HASP373 MCPI#ASM STARTED - INIT 6 - CLASS C - SYS TK4- 10.16.51 JOB 21 IEF403I MCPI#ASM - STARTED - TIME=10.16.51 10.16.51 JOB 21 IEFACTRT - Stepname Procstep Program Retcode 10.16.51 JOB 21 MCPI#ASM CLG ASM IFOX00 RC= 0000 10.16.51 JOB 21 MCPI#ASM CLG LKED IEWL RC= 0000 10.16.51 JOB 21 MCPI#ASM CLG GO PGM=*.DD RC= 0000 10.16.51 JOB 21 IEF404I MCPI#ASM - ENDED - TIME=10.16.51 10.16.51 JOB 21 $HASP395 MCPI#ASM ENDED ------ JES2 JOB STATISTICS ------ 06 JAN 19 JOB EXECUTION DATE 701 CARDS READ 1,319 SYSOUT PRINT RECORDS 0 SYSOUT PUNCH RECORDS 0.00 MINUTES EXECUTION TIME 1 //MCPI#ASM JOB 'S322-0C4','WFJM', JOB 21 // CLASS=C,MSGCLASS=A,MSGLEVEL=(1,1), // REGION=128K,TIME=(1,0),PRTY=8 2 //CLG EXEC ASMFCLG, // MAC1='SYS2.MACLIB', // MAC2='SYS1.AMODGEN', // MAC3='SYS1.MACLIB', // PARM.ASM='NODECK,LOAD', // PARM.LKED='MAP,LIST,LET,NCAL', // COND.LKED=(8,LE,ASM), // PARM.GO='', // COND.GO=((8,LE,ASM),(4,LT,LKED)) 3 XXASMFCLG PROC MAC='SYS1.MACLIB',MAC1='SYS1.MACLIB', 00000100 XX MAC2='SYS1.MACLIB',MAC3='SYS1.MACLIB',SOUT='*' 00000200 4 XXASM EXEC PGM=IFOX00,PARM=OBJ,REGION=128K 00000300 5 XXSYSLIB DD DSN=&MAC,DISP=SHR 00000400 6 XX DD DSN=&MAC1,DISP=SHR 00000500 7 XX DD DSN=&MAC2,DISP=SHR 00000600 8 XX DD DSN=&MAC3,DISP=SHR 00000700 9 //ASM.SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSDA,SPACE=(1700,(600,100)) X/SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSSQ,SPACE=(1700,(600,100)), 00000800 XX SEP=(SYSLIB) 00000900 10 //ASM.SYSUT2 DD DSN=&&SYSUT2,UNIT=SYSDA,SPACE=(1700,(300,50)) X/SYSUT2 DD DSN=&&SYSUT2,UNIT=SYSSQ,SPACE=(1700,(300,50)), 00001000 XX SEP=(SYSLIB,SYSUT1) 00001100 11 //ASM.SYSUT3 DD DSN=&&SYSUT3,UNIT=SYSDA,SPACE=(1700,(300,50)) X/SYSUT3 DD DSN=&&SYSUT3,UNIT=SYSSQ,SPACE=(1700,(300,50)) 00001200 12 XXSYSPRINT DD SYSOUT=&SOUT,DCB=BLKSIZE=1089 00001300 13 XXSYSPUNCH DD SYSOUT=B 00001400 14 //ASM.SYSGO DD DSN=&&OBJSET,UNIT=SYSDA,SPACE=(80,(2000,500)) X/SYSGO DD DSN=&&OBJSET,UNIT=SYSSQ,SPACE=(80,(200,50)), 00001500 XX DISP=(MOD,PASS) 00001600 15 //ASM.SYSIN DD * 16 XXLKED EXEC PGM=IEWL,PARM=(XREF,LET,LIST,NCAL),REGION=128K, 00001700 XX COND=(8,LT,ASM) 00001800 17 XXSYSLIN DD DSN=&&OBJSET,DISP=(OLD,DELETE) 00001900 18 XX DD DDNAME=SYSIN 00002000 19 XXSYSLMOD DD DSN=&&GOSET(GO),UNIT=SYSDA,SPACE=(1024,(50,20,1)), 00002100 XX DISP=(MOD,PASS) 00002200 20 XXSYSUT1 DD DSN=&&SYSUT1,UNIT=(SYSDA,SEP=(SYSLIN,SYSLMOD)), 00002300 XX SPACE=(1024,(50,20)) 00002400 21 XXSYSPRINT DD SYSOUT=&SOUT 00002500 22 XXGO EXEC PGM=*.LKED.SYSLMOD,COND=((8,LT,ASM),(4,LT,LKED)) 00002600 23 //GO.SYSUDUMP DD SYSOUT=*,OUTLIM=2000 24 //GO.SYSPRINT DD SYSOUT=*,OUTLIM=5000 25 //GO.SYSIN DD * // STMT NO. MESSAGE - 5 IEF653I SUBSTITUTION JCL - DSN=SYS1.MACLIB,DISP=SHR 6 IEF653I SUBSTITUTION JCL - DSN=SYS2.MACLIB,DISP=SHR 7 IEF653I SUBSTITUTION JCL - DSN=SYS1.AMODGEN,DISP=SHR 8 IEF653I SUBSTITUTION JCL - DSN=SYS1.MACLIB,DISP=SHR 12 IEF653I SUBSTITUTION JCL - SYSOUT=*,DCB=BLKSIZE=1089 21 IEF653I SUBSTITUTION JCL - SYSOUT=* 22 IEF686I DDNAME REFERRED TO ON DDNAME KEYWORD IN PRIOR STEP WAS NOT RESOLVED IEF236I ALLOC. FOR MCPI#ASM ASM CLG IEF237I 148 ALLOCATED TO SYSLIB IEF237I 148 ALLOCATED TO IEF237I 248 ALLOCATED TO IEF237I 148 ALLOCATED TO IEF237I 170 ALLOCATED TO SYSUT1 IEF237I 180 ALLOCATED TO SYSUT2 IEF237I 140 ALLOCATED TO SYSUT3 IEF237I JES2 ALLOCATED TO SYSPRINT IEF237I JES2 ALLOCATED TO SYSPUNCH IEF237I 190 ALLOCATED TO SYSGO IEF237I JES2 ALLOCATED TO SYSIN IEF142I MCPI#ASM ASM CLG - STEP WAS EXECUTED - COND CODE 0000 IEF285I SYS1.MACLIB KEPT *-------38 IEF285I VOL SER NOS= MVSRES. IEF285I SYS2.MACLIB KEPT *--------0 IEF285I VOL SER NOS= MVSRES. IEF285I SYS1.AMODGEN KEPT *--------0 IEF285I VOL SER NOS= MVSDLB. IEF285I SYS1.MACLIB KEPT *--------0 IEF285I VOL SER NOS= MVSRES. IEF285I SYS19006.T101651.RA000.MCPI#ASM.SYSUT1 DELETED *------275 IEF285I VOL SER NOS= WORK01. IEF285I SYS19006.T101651.RA000.MCPI#ASM.SYSUT2 DELETED *-------36 IEF285I VOL SER NOS= WORK02. IEF285I SYS19006.T101651.RA000.MCPI#ASM.SYSUT3 DELETED *-------16 IEF285I VOL SER NOS= WORK00. IEF285I JES2.JOB00021.SO0103 SYSOUT IEF285I JES2.JOB00021.SO0104 SYSOUT IEF285I SYS19006.T101651.RA000.MCPI#ASM.OBJSET PASSED *-------62 IEF285I VOL SER NOS= WORK03. IEF285I JES2.JOB00021.SI0101 SYSIN IEF373I STEP /ASM / START 19006.1016 IEF374I STEP /ASM / STOP 19006.1016 CPU 0MIN 00.22SEC SRB 0MIN 00.02SEC VIRT 128K SYS 208K ************************************************************************************************************************************ * 1. Jobstep of job: MCPI#ASM Stepname: ASM Program name: IFOX00 Executed on 06.01.19 from 10.16.51 to 10.16.51 * * elapsed time 00:00:00,29 CPU-Identifier: TK4- Page-in: 0 * * CPU time 00:00:00,24 Virtual Storage used: 128K Page-out: 0 * * corr. CPU: 00:00:00,24 CPU time has been corrected by 1 / 1,0 multiplier * * * * I/O Operation * * Number of records read via DD * or DD DATA: 675 * * 148......38 148.......0 248.......0 148.......0 170.....275 180......36 140......16 DMY.......0 DMY.......0 190......62 * * DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,40 * ************************************************************************************************************************************ IEF236I ALLOC. FOR MCPI#ASM LKED CLG IEF237I 190 ALLOCATED TO SYSLIN IEF237I DMY ALLOCATED TO IEF237I 140 ALLOCATED TO SYSLMOD IEF237I 170 ALLOCATED TO SYSUT1 IEF237I JES2 ALLOCATED TO SYSPRINT IEF142I MCPI#ASM LKED CLG - STEP WAS EXECUTED - COND CODE 0000 IEF285I SYS19006.T101651.RA000.MCPI#ASM.OBJSET DELETED *-------63 IEF285I VOL SER NOS= WORK03. IEF285I SYS19006.T101651.RA000.MCPI#ASM.GOSET PASSED *-------10 IEF285I VOL SER NOS= WORK00. IEF285I SYS19006.T101651.RA000.MCPI#ASM.SYSUT1 DELETED *--------0 IEF285I VOL SER NOS= WORK01. IEF285I JES2.JOB00021.SO0105 SYSOUT IEF373I STEP /LKED / START 19006.1016 IEF374I STEP /LKED / STOP 19006.1016 CPU 0MIN 00.02SEC SRB 0MIN 00.00SEC VIRT 128K SYS 212K ************************************************************************************************************************************ * 2. Jobstep of job: MCPI#ASM Stepname: LKED Program name: IEWL Executed on 06.01.19 from 10.16.51 to 10.16.51 * * elapsed time 00:00:00,03 CPU-Identifier: TK4- Page-in: 0 * * CPU time 00:00:00,02 Virtual Storage used: 128K Page-out: 0 * * corr. CPU: 00:00:00,02 CPU time has been corrected by 1 / 1,0 multiplier * * * * I/O Operation * * Number of records read via DD * or DD DATA: 0 * * 190......63 DMY.......0 140......10 170.......0 DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,03 * ************************************************************************************************************************************ IEF236I ALLOC. FOR MCPI#ASM GO CLG IEF237I 140 ALLOCATED TO PGM=*.DD IEF237I JES2 ALLOCATED TO SYSUDUMP IEF237I JES2 ALLOCATED TO SYSPRINT IEF237I JES2 ALLOCATED TO SYSIN IEF142I MCPI#ASM GO CLG - STEP WAS EXECUTED - COND CODE 0000 IEF285I SYS19006.T101651.RA000.MCPI#ASM.GOSET KEPT *--------0 IEF285I VOL SER NOS= WORK00. IEF285I JES2.JOB00021.SO0106 SYSOUT IEF285I JES2.JOB00021.SO0107 SYSOUT IEF285I JES2.JOB00021.SI0102 SYSIN IEF373I STEP /GO / START 19006.1016 IEF374I STEP /GO / STOP 19006.1016 CPU 0MIN 00.01SEC SRB 0MIN 00.00SEC VIRT 8K SYS 216K ************************************************************************************************************************************ * 3. Jobstep of job: MCPI#ASM Stepname: GO Program name: PGM=*.DD Executed on 06.01.19 from 10.16.51 to 10.16.51 * * elapsed time 00:00:00,02 CPU-Identifier: TK4- Page-in: 0 * * CPU time 00:00:00,01 Virtual Storage used: 8K Page-out: 0 * * corr. CPU: 00:00:00,01 CPU time has been corrected by 1 / 1,0 multiplier * * * * I/O Operation * * Number of records read via DD * or DD DATA: 3 * * 140.......0 DMY.......0 DMY.......0 DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,01 * ************************************************************************************************************************************ IEF237I 140 ALLOCATED TO SYS00001 IEF285I SYS19006.T101651.RA000.MCPI#ASM.R0000001 KEPT *--------0 IEF285I VOL SER NOS= WORK00. IEF285I SYS19006.T101651.RA000.MCPI#ASM.GOSET DELETED IEF285I VOL SER NOS= WORK00. IEF375I JOB /MCPI#ASM/ START 19006.1016 IEF376I JOB /MCPI#ASM/ STOP 19006.1016 CPU 0MIN 00.25SEC SRB 0MIN 00.02SEC EXTERNAL SYMBOL DICTIONARY PAGE 1 SYMBOL TYPE ID ADDR LENGTH LDID ASM 0201 10.16 01/06/19 MAIN SD 0001 000000 00072E SIOSDATA SD 0002 000730 000198 TEXT SD 0003 0008C8 000051 DATA SD 0004 000920 000400 PAGE 2 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 1 * 1 2 3 4 5 6 71 2 *23456789*12345*789012345678901234*678901234567890123456789012345678901 3 * $Id: mcpi_asm.asm 996 2018-03-03 13:59:23Z mueller $ 4 * 5 * Copyright 2017-2018 by Walter F.J. Mueller 6 * 7 * This program is free software; you may redistribute and/or modify 8 * it under the terms of the GNU General Public License version 3. 9 * See Licence.txt in distribition directory for further details. 10 * 11 * Revision History: 12 * Date Rev Version Comment 13 * 2018-03-03 996 1.2.1 use sios as path for sios snippets 14 * 2017-12-29 979 1.2 some more code optimizations 15 * 2017-12-28 978 1.1 use inverse to avoid divide by constant 16 * 2017-11-12 961 1.0 Initial version 17 * 2017-10-10 955 0.1 First draft 18 * 19 PRINT NOGEN don't show macro expansions 20 * 21 * Prime number search 22 * RC = 0 ok 23 * RC = 8 unexpected SYSIN EOF 24 * RC = 12 open SYSIN failed 25 * RC = 16 open SYSPRINT failed 26 * 27 * local macros -------------------------------------------------------- 28 * 29 * 30 * OTXTDSC - setup text descriptor for simple output system - 31 * 32 MACRO 33 &LABEL OTXTDSC &TEXT 34 TEXT CSECT 35 SPTR&SYSNDX DC &TEXT 36 &SYSECT CSECT 37 DS 0F 38 &LABEL DC AL1(L'SPTR&SYSNDX),AL3(SPTR&SYSNDX) 39 MEND 40 * 41 * main preamble ------------------------------------------------------- 42 * 000000 43 MAIN START 0 start main code csect at base 0 44 SAVE (14,12) Save input registers 000004 18CF 47 LR R12,R15 base register := entry address 00000 48 USING MAIN,R12 declare base register 000006 50D0 C5DC 005DC 49 ST R13,SAVE+4 set back pointer in current save area 00000A 182D 50 LR R2,R13 remember callers save area 00000C 41D0 C5D8 005D8 51 LA R13,SAVE setup current save area 000010 50D2 0008 00008 52 ST R13,8(R2) set forw pointer in callers save area 53 * 54 * open datasets ------------------------------------------------------- 55 * 56 OPEN (SYSPRINT,OUTPUT) open SYSPRINT 00001E 12FF 62 LTR R15,R15 test return code PAGE 3 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 000020 4780 C02C 0002C 63 BE OOPENOK 000024 9210 C623 00623 64 MVI RC+3,X'10' 000028 47F0 C18C 0018C 65 B EXIT quit with RC=16 66 OOPENOK OPEN (SYSIN,INPUT) open SYSIN 000036 12FF 72 LTR R15,R15 test return code 000038 4780 C044 00044 73 BE IOPENOK 00003C 920C C623 00623 74 MVI RC+3,X'0C' 000040 47F0 C18C 0018C 75 B EXIT quit with RC=12 00044 76 IOPENOK EQU * 77 * 000044 6800 C6C0 006C0 78 LD FR0,=D'1.' 000048 2820 79 LDR FR2,FR0 00004A 6D00 C640 00640 80 DD FR0,RR32 00004E 6000 C648 00648 81 STD FR0,RR32I RR32I = 1./RR32 82 * 83 * read debug flags ---------------------------------------------------- 84 * 000052 45E0 C56C 0056C 85 BAL R14,IGETLINE read input line 000056 45E0 C5C0 005C0 86 BAL R14,IINT10 get PRNT 00005A 4210 C624 00624 87 STC R1,IDBGRR 00005E 45E0 C5C0 005C0 88 BAL R14,IINT10 get PRNT 000062 4210 C625 00625 89 STC R1,IDBGRN 000066 45E0 C5C0 005C0 90 BAL R14,IINT10 get PRNT 00006A 4210 C626 00626 91 STC R1,IDBGMC 00006E 9201 C5AC 005AC 92 MVI IEOFOK,X'01' expect EOF from now on 93 * 000072 9500 C624 00624 94 CLI IDBGRR,X'00' if any trace skip header print 000076 4770 C09E 0009E 95 BNE NOHDPRT 00007A 9500 C625 00625 96 CLI IDBGRN,X'00' 00007E 4770 C09E 0009E 97 BNE NOHDPRT 000082 9500 C626 00626 98 CLI IDBGMC,X'00' 000086 4770 C09E 0009E 99 BNE NOHDPRT 00008A 5810 C6A0 006A0 100 L R1,MSGHD1 00008E 45E0 C2E2 002E2 101 BAL R14,OTEXT 000092 5810 C6A4 006A4 102 L R1,MSGHD2 000096 45E0 C2E2 002E2 103 BAL R14,OTEXT 00009A 45E0 C310 00310 104 BAL R14,OPUTLINE write header 0009E 105 NOHDPRT EQU * 106 * 107 * main body ----------------------------------------------------------- 108 * 109 * outer loop 110 * 00009E 1733 111 XR R3,R3 ntry = 0 0000A0 1744 112 XR R4,R4 nhit = 0 113 * 0000A2 45E0 C56C 0056C 114 OLOOP BAL R14,IGETLINE read input line 0000A6 45E0 C5C0 005C0 115 BAL R14,IINT10 get PRNT 0000AA 1211 116 LTR R1,R1 is ngo == 0 0000AC 4780 C18A 0018A 117 BE OLOOPE if = yes, quit outer loop 118 * 119 * inner loop 120 * 0000B0 1821 121 LR R2,R1 loop counter 122 * PAGE 4 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 000B2 123 ILOOP EQU * 0000B2 4580 C1B4 001B4 124 BAL R8,RANNUM 0000B6 6C00 C6C8 006C8 125 MD FR0,=D'2.' 0000BA 6B00 C6C0 006C0 126 SD FR0,=D'1.' 0000BE 6000 C688 00688 127 STD FR0,X 0000C2 4580 C1B4 001B4 128 BAL R8,RANNUM 0000C6 6C00 C6C8 006C8 129 MD FR0,=D'2.' 0000CA 6B00 C6C0 006C0 130 SD FR0,=D'1.' 0000CE 6000 C690 00690 131 STD FR0,Y 0000D2 2C00 132 MDR FR0,FR0 0000D4 6820 C688 00688 133 LD FR2,X 0000D8 2C22 134 MDR FR2,FR2 0000DA 2A02 135 ADR FR0,FR2 0000DC 6000 C698 00698 136 STD FR0,R 0000E0 5A30 C700 00700 137 A R3,=F'1' 0000E4 6900 C6C0 006C0 138 CD FR0,=D'1.' 0000E8 4720 C0F0 000F0 139 BH CMISS 0000EC 5A40 C700 00700 140 A R4,=F'1' 000F0 141 CMISS EQU * 0000F0 9500 C626 00626 142 CLI IDBGMC,X'00' 0000F4 4780 C122 00122 143 BE NODBGMC 0000F8 5810 C6A8 006A8 144 L R1,MSGMC 0000FC 45E0 C2E2 002E2 145 BAL R14,OTEXT print "MC: " 000100 6800 C688 00688 146 LD FR0,X 000104 45E0 C448 00448 147 BAL R14,OFIX1308 print x 000108 6800 C690 00690 148 LD FR0,Y 00010C 45E0 C448 00448 149 BAL R14,OFIX1308 print y 000110 6800 C698 00698 150 LD FR0,R 000114 45E0 C448 00448 151 BAL R14,OFIX1308 print r 000118 1814 152 LR R1,R4 00011A 45E0 C3A0 003A0 153 BAL R14,OINT10 print nhit 00011E 45E0 C310 00310 154 BAL R14,OPUTLINE write line 155 * 00122 156 NODBGMC EQU * 000122 4620 C0B2 000B2 157 BCT R2,ILOOP 158 * 000126 5800 C390 00390 159 L R0,ODNZERO 00012A 5000 C388 00388 160 ST R0,ODTEMP 00012E 5040 C38C 0038C 161 ST R4,ODTEMP+4 nhit as denorm float 000132 2B00 162 SDR FR0,FR0 FR0 := 0. 000134 6A00 C388 00388 163 AD FR0,ODTEMP add to re-normalize, FR0:=nhit 000138 5030 C38C 0038C 164 ST R3,ODTEMP+4 ntry as denorm float 00013C 2B22 165 SDR FR2,FR2 FR2 := 0. 00013E 6A20 C388 00388 166 AD FR2,ODTEMP add to re-normalize, FR2:=ntry 000142 2D02 167 DDR FR0,FR2 nhit/ntry 000144 6C00 C6D0 006D0 168 MD FR0,=D'4.' piest = 4.*nhit/ntry 000148 6000 C678 00678 169 STD FR0,PIEST 00014C 6B00 C670 00670 170 SD FR0,PI piest - pi 000150 2000 171 LPDR FR0,FR0 pierr = abs(piest - pi) 000152 6000 C680 00680 172 STD FR0,PIERR 173 * 000156 5810 C6AC 006AC 174 L R1,MSGPI 00015A 45E0 C2E2 002E2 175 BAL R14,OTEXT print "PI: " 00015E 1813 176 LR R1,R3 000160 45E0 C3A0 003A0 177 BAL R14,OINT10 print ntry PAGE 5 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 000164 1814 178 LR R1,R4 000166 45E0 C3A0 003A0 179 BAL R14,OINT10 print nhit 00016A 6800 C678 00678 180 LD FR0,PIEST 00016E 45E0 C448 00448 181 BAL R14,OFIX1308 print piest 000172 6800 C680 00680 182 LD R0,PIERR 000176 45E0 C448 00448 183 BAL R14,OFIX1308 print pierr 00017A 6800 C638 00638 184 LD FR0,RLAST 00017E 45E0 C4DE 004DE 185 BAL R14,OFIX1200 print rlast 000182 45E0 C310 00310 186 BAL R14,OPUTLINE write line 187 * 000186 47F0 C0A2 000A2 188 B OLOOP 0018A 189 OLOOPE EQU * 190 * 191 * close datasets and return to OS ------------------------------------- 192 * 193 EXIT CLOSE SYSPRINT close SYSPRINT 199 CLOSE SYSIN close SYSIN 0001A2 58D0 C5DC 005DC 205 L R13,SAVE+4 get old save area back 0001A6 5800 C620 00620 206 L R0,RC get return code 0001AA 500D 0010 00010 207 ST R0,16(R13) store in old save R15 208 RETURN (14,12) return to OS (will setup RC) 211 * 212 * RANNUM -------------------------------------------------------------- 213 * uses all float regs 214 * uses R0,R1,R6,R7,R8,R9,R14,R15 215 * keeps R2-R5,R10-R11 216 * 0001B4 9500 C627 00627 217 RANNUM CLI RANINI,X'00' init done ? 0001B8 4770 C1D8 001D8 218 BNE RANNUMGO if != yes 219 * 0001BC 5860 C704 00704 220 L R6,=A(RSHUF) pointer to rshuf 0001C0 4170 0080 00080 221 LA R7,128 loop count 0001C4 4590 C244 00244 222 RANNUML BAL R9,RANRAW get raw 0001C8 6006 0000 00000 223 STD FR0,0(R6) store 0001CC 4166 0008 00008 224 LA R6,8(R6) push pointer 0001D0 4670 C1C4 001C4 225 BCT R7,RANNUML and loop 0001D4 9201 C627 00627 226 MVI RANINI,X'01' ranini = true 227 * 0001D8 5860 C704 00704 228 RANNUMGO L R6,=A(RSHUF) pointer to rshuf 0001DC 6800 C638 00638 229 LD FR0,RLAST 0001E0 6E00 C390 00390 230 AW FR0,ODNZERO denormalize 0001E4 6000 C668 00668 231 STD FR0,RFAC1 0001E8 5870 C66C 0066C 232 L R7,RFAC1+4 int(rlast) 0001EC 8870 0019 00019 233 SRL R7,25 int(rlast/rdiv) 0001F0 8B70 0003 00003 234 SLA R7,3 convert index to offset 0001F4 6807 6000 00000 235 LD FR0,0(R7,R6) rshuf[i] 0001F8 6000 C638 00638 236 STD FR0,RLAST rlast = rshuf[i] 0001FC 4590 C244 00244 237 BAL R9,RANRAW get new random number 000200 6007 6000 00000 238 STD FR0,0(R7,R6) rshuf[i] = ranraw() 000204 6800 C638 00638 239 LD FR0,RLAST 000208 6C00 C648 00648 240 MD FR0,RR32I rlast*rr32i 00020C 9500 C625 00625 241 CLI IDBGRN,X'00' RN trace ? 000210 4780 C242 00242 242 BE RANNUMNT 243 * 000214 6000 C650 00650 244 STD FR0,RNEW save rnew PAGE 6 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 000218 5810 C6B4 006B4 245 L R1,MSGRN 00021C 45E0 C2E2 002E2 246 BAL R14,OTEXT print "RN: " 000220 1817 247 LR R1,R7 000222 8A10 0003 00003 248 SRA R1,3 convert back to index 000226 45E0 C3A0 003A0 249 BAL R14,OINT10 print i 00022A 6800 C638 00638 250 LD FR0,RLAST 00022E 45E0 C4DE 004DE 251 BAL R14,OFIX1200 print rlast 000232 6800 C650 00650 252 LD FR0,RNEW 000236 45E0 C448 00448 253 BAL R14,OFIX1308 print rnew 00023A 45E0 C310 00310 254 BAL R14,OPUTLINE write line 00023E 6800 C650 00650 255 LD FR0,RNEW restore rnew 256 * 00242 257 RANNUMNT EQU * 258 * 000242 07F8 259 BR R8 260 * 261 * RANRAW -------------------------------------------------------------- 262 * uses all float regs 263 * uses R0,R1,R14,R15 264 * keeps R2-R11 000244 6800 C630 00630 266 RANRAW LD FR0,RSEED 000248 6C00 C628 00628 267 MD FR0,RFACTOR rnew1 = rseed * 69069. 00024C 2860 268 LDR FR6,FR0 save rnew1 00024E 2820 269 LDR FR2,FR0 rmsb = rnew1 000250 6E20 C390 00390 270 AW FR2,ODNZERO denormalize 000254 6020 C668 00668 271 STD FR2,RFAC1 save 000258 1711 272 XR R1,R1 R1:=0 00025A 5010 C66C 0066C 273 ST R1,RFAC1+4 clear lower 32 bits of rmsb 00025E 6B00 C668 00668 274 SD FR0,RFAC1 rnew = rnew1 modulo 2^32 !! 000262 6000 C650 00650 275 STD FR0,RNEW 000266 9500 C624 00624 276 CLI IDBGRR,X'00' RR trace ? 00026A 4780 C2A2 002A2 277 BE RANRAWNT 278 * 00026E 6040 C660 00660 279 STD FR4,RFAC really save rfac 000272 6060 C658 00658 280 STD FR6,RNEW1 really save rnew1 000276 5810 C6B0 006B0 281 L R1,MSGRR 00027A 45E0 C2E2 002E2 282 BAL R14,OTEXT print "RR: " 00027E 6800 C630 00630 283 LD FR0,RSEED 000282 45E0 C4DE 004DE 284 BAL R14,OFIX1200 print rseed 000286 6800 C650 00650 285 LD FR0,RNEW 00028A 45E0 C4DE 004DE 286 BAL R14,OFIX1200 print rnew 00028E 5810 C6B8 006B8 287 L R1,MSGCSEP 000292 45E0 C2E2 002E2 288 BAL R14,OTEXT print " : " 000296 5810 C664 00664 289 L R1,RFAC+4 00029A 45E0 C3A0 003A0 290 BAL R14,OINT10 print ifac 00029E 45E0 C310 00310 291 BAL R14,OPUTLINE write line 292 * 0002A2 6800 C650 00650 293 RANRAWNT LD FR0,RNEW 0002A6 6000 C630 00630 294 STD FR0,RSEED 0002AA 07F9 295 BR R9 296 * 297 * include simple output system ---------------------------------------- 298 * 299 * simple output system procedures ------------------------------------- PAGE 7 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 300 * calling and register convention: 301 * R1 holds value (or descriptor pointer) 302 * R0,R1 may be modified 303 * R14,R15 may be modified 304 * R2-R11 are not changed 305 * 306 * in short 307 * R1 holds input or output value (or pointer) 308 * call with BAL R14, 309 * 310 * OSKIP02 -------------------------------------------------- 311 * add 2 blanks 312 * 0002AC 4110 0002 00002 313 OSKIP02 LA R1,2 314 * 315 * OSKIP ---------------------------------------------------- 316 * add blanks, count in R1 317 * 0002B0 5A10 C374 00374 318 OSKIP A R1,OLPTR new edit position 0002B4 5010 C374 00374 319 ST R1,OLPTR store pointer 0002B8 07FE 320 BR R14 321 * 322 * OTAB ---------------------------------------------------- 323 * set output column, position in R1 324 * 0002BA 5A10 C708 00708 325 OTAB A R1,=A(OLBUF+1) new edit position 0002BE 5010 C374 00374 326 ST R1,OLPTR store pointer 0002C2 07FE 327 BR R14 328 * 329 * OSFILL --------------------------------------------------- 330 * add " ***" pattern, total length in R1 331 * 0002C4 58F0 C374 00374 332 OSFILL L R15,OLPTR R15 points to edit position 0002C8 9240 F000 00000 333 MVI 0(R15),C' ' initial blank 0002CC 47F0 C2D4 002D4 334 B OSFILLN 0002D0 925C F000 00000 335 OSFILLL MVI 0(R15),C'*' further '*' 0002D4 41FF 0001 00001 336 OSFILLN LA R15,1(R15) 0002D8 4610 C2D0 002D0 337 BCT R1,OSFILLL 0002DC 50F0 C374 00374 338 ST R15,OLPTR store pointer 0002E0 07FE 339 BR R14 340 * 341 * OTEXT ---------------------------------------------------- 342 * print text, R1 hold descriptor address 343 * descriptor format 344 * DC AL1() 345 * DC AL2(
) 346 * 0002E2 50E0 C30C 0030C 347 OTEXT ST R14,OTEXTL save R14 0002E6 18E1 348 LR R14,R1 0002E8 88E0 0018 00018 349 SRL R14,24 R14 now string length 0002EC 58F0 C374 00374 350 L R15,OLPTR R15 points to edit position 0002F0 180F 351 LR R0,R15 R0 too 0002F2 1A0E 352 AR R0,R14 push pointer, add length 0002F4 5000 C374 00374 353 ST R0,OLPTR store pointer 0002F8 06E0 354 BCTR R14,0 decrement length for EX PAGE 8 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 0002FA 44E0 C304 00304 355 EX R14,OTEXTMVC copy string via EX:MVC 0002FE 58E0 C30C 0030C 356 L R14,OTEXTL restore R14 linkage 000302 07FE 357 BR R14 358 * 000304 D200 F000 1000 00000 00000 359 OTEXTMVC MVC 0(1,R15),0(R1) length via EX, dst R15, src R1 00030C 360 OTEXTL DS F save area for R14 (return linkage) 361 * 362 * OPUTLINE ------------------------------------------------- 363 * write line to SYSPRINT 364 * 000310 50E0 C370 00370 365 OPUTLINE ST R14,OPUTLNEL save R14 000314 58F0 C70C 0070C 366 L R15,=A(OLBUF) 000318 9500 F085 00085 367 CLI 133(R15),X'00' check fence byte 00031C 4770 C36A 0036A 368 BNE OPUTLNEA crash if fence blown 000320 5810 C710 00710 369 L R1,=A(SYSPRINT) R1 point to DCB 000324 180F 370 LR R0,R15 R1 point to buffer 371 PUT (1),(0) write line 00032C 58F0 C70C 0070C 374 L R15,=A(OLBUF) point to CC of OLBUF 000330 9240 F000 00000 375 MVI 0(R15),C' ' blank OLBUF(0) 000334 D283 F001 F000 00001 00000 376 MVC 1(L'OLBUF-1,R15),0(R15) propagate blank 00033A 41FF 0001 00001 377 LA R15,1(R15) point to 1st print char in OLBUF 00033E 50F0 C374 00374 378 ST R15,OLPTR reset current position pointer 000342 41F0 0001 00001 379 LA R15,1 000346 4AF0 C378 00378 380 AH R15,OLCNT increment line counter 00034A 40F0 C378 00378 381 STH R15,OLCNT 00034E 4BF0 C37A 0037A 382 SH R15,OLMAX R15 := OLCNT-OLMAX 000352 4740 C364 00364 383 BL OPUTLNES if < no new page 000356 17FF 384 XR R15,R15 R15 := 0 000358 40F0 C378 00378 385 STH R15,OLCNT clear line counter 00035C 58F0 C70C 0070C 386 L R15,=A(OLBUF) point to CC of OLBUF 000360 92F1 F000 00000 387 MVI 0(R15),C'1' set new page CC in OLBUF 000364 58E0 C370 00370 388 OPUTLNES L R14,OPUTLNEL restore R14 linkage 000368 07FE 389 BR R14 390 * 391 OPUTLNEA ABEND 255 abend in case of errors 395 * 000370 396 OPUTLNEL DS F save area for R14 (return linkage) 397 * 398 * Work area for simple output system ------------------------ 399 * 000374 00000791 400 OLPTR DC A(OLBUF+1) current output line position 000378 0000 401 OLCNT DC H'0' line counter 00037A 003C 402 OLMAX DC H'60' lines per page 000380 403 OCVD DS D buffer for CVD (8 byte, DW aligned) 404 * 000388 405 ODTEMP DS D double buffer for conversions 000390 4E00000000000000 406 ODNZERO DC X'4E000000',X'00000000' denormalized double zero 000398 4E00000000000001 407 ODNONE DC X'4E000000',X'00000001' denormalized double one 408 * 409 * DCB and OLBUF in separate CSECT 410 * 000730 411 SIOSDATA CSECT 000730 412 DS 0F 413 SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT, X RECFM=FBA,LRECL=133,BLKSIZE=0 PAGE 9 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 000790 4040404040404040 467 OLBUF DC CL133' ',X'00' output line buffer and fence byte 468 * 0003A0 469 MAIN CSECT 470 * 471 * OINT10 --------------------------------------------------- 472 * print integer, like PL/I F(10) or C %10d format 473 * very fast, for non-negative numbers only ! 474 * 0003A0 5510 C714 00714 475 OINT10 CL R1,=F'999999999' too large ? 0003A4 4720 C3C6 003C6 476 BH OINT10F if > yes, do OSFILL 0003A8 4E10 C380 00380 477 CVD R1,OCVD convert 0003AC 58F0 C374 00374 478 L R15,OLPTR R15 points to edit position 0003B0 D209 F000 C3CE 00000 003CE 479 MVC 0(OEI10L,R15),OEI10 setup pattern 0003B6 DE09 F000 C383 00000 00383 480 ED 0(OEI10L,R15),OCVD+3 and edit 0003BC 41FF 000A 0000A 481 LA R15,OEI10L(R15) push pointer 0003C0 50F0 C374 00374 482 ST R15,OLPTR store pointer 0003C4 07FE 483 BR R14 484 * 0003C6 4110 000A 0000A 485 OINT10F LA R1,10 0003CA 47F0 C2C4 002C4 486 B OSFILL 487 * 0003CE 4020202020202020 488 OEI10 DC C' ',7X'20',X'21',X'20' pat: bddddddd(d 0000A 489 OEI10L EQU *-OEI10 490 * 491 * OHEX10 --------------------------------------------------- 492 * print integer, like C " %8.8x" format 493 * 0003D8 50E0 C418 00418 494 OHEX10 ST R14,OHEX10L save R14 0003DC 58F0 C374 00374 495 L R15,OLPTR R15 points to edit position 0003E0 41FF 0002 00002 496 LA R15,2(R15) add two blanks 0003E4 41EF 0008 00008 497 LA R14,8(R15) end of buffer 498 * 0003E8 1700 499 OHEX10NL XR R0,R0 R0 := 0 0003EA 8F00 0004 00004 500 SLDA R0,4 get next 4 bits into R0 0003EE 4A00 C728 00728 501 AH R0,=X'00F0' add '0' 0003F2 4900 C72A 0072A 502 CH R0,=X'00F9' above 9 ? 0003F6 47D0 C3FE 003FE 503 BNH OHEX10OK if <= no, skip A-F correction 0003FA 4B00 C72C 0072C 504 SH R0,=X'0039' sub (0xF0('0')+10)-0xC1('A')=0x39 0003FE 420F 0000 00000 505 OHEX10OK STC R0,0(R15) store hex digit 000402 41FF 0001 00001 506 LA R15,1(R15) push pointer 000406 19FE 507 CR R15,R14 beyond end ? 000408 4740 C3E8 003E8 508 BL OHEX10NL if < not, do next nibble 509 * 00040C 50F0 C374 00374 510 ST R15,OLPTR store pointer 000410 58E0 C418 00418 511 L R14,OHEX10L restore R14 linkage 000414 07FE 512 BR R14 513 * 000418 514 OHEX10L DS F save area for R14 (return linkage) 515 * 516 * OHEX210 -------------------------------------------------- 517 * print 64 field as two 32 bit hex numbers 518 * R1 points to memory location of 64 bit value 519 * rendered as " %8.8x %8.8x" 520 * 00041C 50E0 C440 00440 521 OHEX210 ST R14,OHEX210L save R14 PAGE 10 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 000420 5010 C444 00444 522 ST R1,OHEX210V save R1 000424 5811 0000 00000 523 L R1,0(R1) get high part 000428 45E0 C3D8 003D8 524 BAL R14,OHEX10 convert 00042C 5810 C444 00444 525 L R1,OHEX210V 000430 5811 0004 00004 526 L R1,4(R1) get low part 000434 45E0 C3D8 003D8 527 BAL R14,OHEX10 convert 000438 58E0 C440 00440 528 L R14,OHEX210L restore R14 linkage 00043C 07FE 529 BR R14 and return 530 * 000440 531 OHEX210L DS F save area for R14 (return linkage) 000444 532 OHEX210V DS F save area for R1 (value ptr) 533 * 534 * OFIX1308, OFIX1306 - ------------------------------------- 535 * print double, like 536 * OFIX1308: PL/I F(13,8) or C %13.8f format 537 * OFIX1306: PL/I F(13,6) or C %13.6f format 538 * input value in floating reg FR0 539 * handles signed numbers 540 * 000448 6C00 C6D8 006D8 541 OFIX1308 MD FR0,=D'1.E8' 'shift' 8 digits left 00044C 4110 C4D1 004D1 542 LA R1,OEF1308 pointer to edit pattern 000450 4100 0003 00003 543 LA R0,3 offset to one behind X'21' position 000454 47F0 C464 00464 544 B OFIX13XX 545 * 000458 6C00 C6E0 006E0 546 OFIX1306 MD FR0,=D'1.E6' 'shift' 6 digits left 00045C 4110 C4C4 004C4 547 LA R1,OEF1306 pointer to edit pattern 000460 4100 0005 00005 548 LA R0,5 offset to one behind X'21' position 549 * 000464 2020 550 OFIX13XX LPDR FR2,FR0 get abbs() value 000466 6920 C6E8 006E8 551 CD FR2,=D'2.E9' too large ? 00046A 47B0 C4BC 004BC 552 BNL OFX13XXF if >= yes, do OSFILL 553 * 00046E 2842 554 LDR FR4,FR2 000470 6E40 C390 00390 555 AW FR4,ODNZERO FR4 := de-normalized FR2 000474 2B66 556 SDR FR6,FR6 FR6 := 0. 000476 2A64 557 ADR FR6,FR4 get integer part 000478 2B24 558 SDR FR2,FR4 get fractional part 00047A 6920 C6F0 006F0 559 CD FR2,=D'0.5' check if >= 0.5 00047E 4740 C486 00486 560 BL OFX13XXR if < no need to round up 000482 6E40 C398 00398 561 AW FR4,ODNONE otherwise add LSB DENORM 000486 6040 C388 00388 562 OFX13XXR STD FR4,ODTEMP roll-out to memory 00048A 58F0 C38C 0038C 563 L R15,ODTEMP+4 get integer part 00048E 4EF0 C380 00380 564 CVD R15,OCVD convert 000492 58F0 C374 00374 565 L R15,OLPTR R15 points to edit position 000496 D20C F000 1000 00000 00000 566 MVC 0(OEF13XXL,R15),0(R1) setup pattern 00049C 181F 567 LR R1,R15 setup R1 in case of miss 00049E 1A10 568 AR R1,R0 to one behind X'21' position 0004A0 DF0C F000 C382 00000 00382 569 EDMK 0(OEF13XXL,R15),OCVD+2 and edit (and set R1) 0004A6 2200 570 LTDR FR0,FR0 negative number ? 0004A8 47B0 C4B2 004B2 571 BNM OFX13XXP if >= not 0004AC 0610 572 BCTR R1,0 decrement pointer 0004AE 9260 1000 00000 573 MVI 0(R1),C'-' write '-' sign 0004B2 41FF 000D 0000D 574 OFX13XXP LA R15,OEF13XXL(R15) push pointer 0004B6 50F0 C374 00374 575 ST R15,OLPTR store pointer 0004BA 07FE 576 BR R14 PAGE 11 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 577 * 0004BC 4110 000D 0000D 578 OFX13XXF LA R1,OEF13XXL 0004C0 47F0 C2C4 002C4 579 B OSFILL 580 * 0004C4 4020202021204B20 581 OEF1306 DC C' ',3X'20',X'21',X'20',C'.',6X'20' pat: bddd(d.dddddd 0004D1 402021204B202020 582 OEF1308 DC C' ',1X'20',X'21',X'20',C'.',8X'20' pat: bd(d.dddddddd 0000D 583 OEF13XXL EQU *-OEF1308 585 * 586 * OFIX1200 ------------------------------------------------- 587 * print double, like PL/I F(12,0) or C %12.0f format 588 * input value in floating reg FR0 589 * only for non-negatve numbers 590 * 0004DE 2200 591 OFIX1200 LTDR FR0,FR0 check whether negative 0004E0 4740 C556 00556 592 BL OFX1200F if < yes, do OSFILL 0004E4 6900 C6F8 006F8 593 CD FR0,=D'99999999999.' too large ? 0004E8 4720 C556 00556 594 BH OFX1200F if > yes, do OSFILL 0004EC 6E00 C390 00390 595 AW FR0,ODNZERO de-normalize 0004F0 6000 C388 00388 596 STD FR0,ODTEMP roll-out to memory 0004F4 5810 C38C 0038C 597 L R1,ODTEMP+4 0004F8 5800 C388 00388 598 L R0,ODTEMP 0004FC 5400 C718 00718 599 N R0,=X'00FFFFFF' 000500 5D00 C71C 0071C 600 D R0,=F'100000000' now R0 lower 9, R1 upper digits 000504 4E00 C380 00380 601 CVD R0,OCVD BCD convert lower part 000508 58F0 C374 00374 602 L R15,OLPTR R15 points to edit position 00050C 41FF 0002 00002 603 LA R15,2(R15) add two blanks 000510 1211 604 LTR R1,R1 upper != 0 000512 4770 C52C 0052C 605 BNZ OFX1200B if != yes, handle large number 606 * 000516 D209 F000 C3CE 00000 003CE 607 MVC 0(OEI10L,R15),OEI10 setup pattern (from OINT10) 00051C DE09 F000 C383 00000 00383 608 ED 0(OEI10L,R15),OCVD+3 and edit 000522 41FF 000A 0000A 609 LA R15,OEI10L(R15) push pointer 000526 50F0 C374 00374 610 ST R15,OLPTR store pointer 00052A 07FE 611 BR R14 612 * 0052C 613 OFX1200B EQU * 00052C D209 F000 C55E 00000 0055E 614 MVC 0(OEF10LL,R15),OEF10L setup pattern 000532 DE09 F000 C383 00000 00383 615 ED 0(OEF10LL,R15),OCVD+3 and edit 000538 4E10 C380 00380 616 CVD R1,OCVD BCD convert upper part 00053C 58F0 C374 00374 617 L R15,OLPTR R15 points to edit position 000540 D203 F000 C568 00000 00568 618 MVC 0(OEF10UL,R15),OEF10U setup pattern 000546 DE03 F000 C386 00000 00386 619 ED 0(OEF10UL,R15),OCVD+6 and edit 00054C 41FF 000C 0000C 620 LA R15,12(R15) push pointer 000550 50F0 C374 00374 621 ST R15,OLPTR store pointer 000554 07FE 622 BR R14 623 * 000556 4110 000C 0000C 624 OFX1200F LA R1,12 00055A 47F0 C2C4 002C4 625 B OSFILL 626 * 00055E 4021202020202020 627 OEF10L DC C' ',X'21',8X'20' pat: b(dddddddd 0000A 628 OEF10LL EQU *-OEF10L 000568 40202120 629 OEF10U DC C' ',X'20',X'21',X'20' pat: bd(d 00004 630 OEF10UL EQU *-OEF10U 631 * include simple input system ----------------------------------------- PAGE 12 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 632 * 633 * simple input system procedures -------------------------------------- 634 * calling and register convention: 635 * R1 holds value (or descriptor pointer) 636 * R0,R1 may be modified 637 * R14,R15 may be modified 638 * R2-R11 are not changed 639 * 640 * in short 641 * R1 holds input or output value (or pointer) 642 * call with BAL R14, 643 * 644 * IGETLINE ------------------------------------------------- 645 * read line from SYSIN 646 * EOF handling: 647 * - IEOFOK holds the 'EOF OK' flag 648 * - if EOF seen and IEOFOK = X'00', program ends with RC=8 649 * - if EOF seen and IEOFOK != X'00', program ends with RC=0 650 * 00056C 50E0 C58C 0058C 651 IGETLINE ST R14,IGETLNEL save R14 000570 5810 C720 00720 652 L R1,=A(SYSIN) 000574 5800 C724 00724 653 L R0,=A(ILBUF) 654 GET (1),(0) read line 00057E 5800 C724 00724 657 L R0,=A(ILBUF) 000582 5000 C5A8 005A8 658 ST R0,ILPTR set input ptr to begin of line 000586 58E0 C58C 0058C 659 L R14,IGETLNEL restore R14 linkage 00058A 07FE 660 BR R14 661 * 00058C 662 IGETLNEL DS F save area for R14 (return linkage) 663 * 664 * IEOFHDL -------------------------------------------------- 665 * EODAD call-back routine. R2-R13 are preserved. R0,R1,R14,R15 are, 666 * modified, with R14 holding address of calling macro. So code 667 * executes in the same environment as prior to the GET call, 668 * especially base registers are kept. 669 * 000590 58F0 C5B0 005B0 670 IEOFHDL L R15,IEOFEXIT load user exit address 000594 12FF 671 LTR R15,R15 test address 000596 077F 672 BNER R15 if !=, use user exit 000598 41E0 C18C 0018C 673 LA R14,EXIT 00059C 9500 C5AC 005AC 674 CLI IEOFOK,X'00' is EOF ok ? 0005A0 077E 675 BNER R14 if != yes, jump to EXIT 0005A2 9208 C623 00623 676 MVI RC+3,X'08' otherwise set RC=8 0005A6 07FE 677 BR R14 and jump to EXIT 678 * 679 * Work area for simple output system ------------------------ 680 * 0005A8 00000878 681 ILPTR DC A(ILBUF) current input line position 0005AC 682 IEOFOK DS X'00' EOF ok flag 0005B0 683 IEOFEXIT DS F'0' user exit address (if != 0) 0005B8 684 ICVB DS D buffer for CVB (8 byte, DW aligned) 685 * 686 * DCB and OLBUF in separate CSECT 687 * 000816 688 SIOSDATA CSECT PAGE 13 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 000818 689 DS 0F 690 SYSIN DCB DSORG=PS,MACRF=GM,DDNAME=SYSIN,EODAD=IEOFHDL X RECFM=FB,LRECL=80,BLKSIZE=0 000878 4040404040404040 744 ILBUF DC CL80' ' input line buffer 0005C0 745 MAIN CSECT 746 * 747 * IINT10 --------------------------------------------------- 748 * read integer, like PL/I F(10) or C %10d format 749 * 0005C0 58F0 C5A8 005A8 750 IINT10 L R15,ILPTR get input pointer 0005C4 F279 C5B8 F000 005B8 00000 751 PACK ICVB(8),0(10,R15) pack next 10 char 0005CA 4F10 C5B8 005B8 752 CVB R1,ICVB and convert 0005CE 41FF 000A 0000A 753 LA R15,10(R15) push pointer by 10 char 0005D2 50F0 C5A8 005A8 754 ST R15,ILPTR and update 0005D6 07FE 755 BR R14 756 * 757 * Work area definitions ----------------------------------------------- 758 * 0005D8 759 SAVE DS 18F local save area 000620 00000000 760 RC DC F'0' return code 000624 00 761 IDBGRR DC X'00' trace RR enable 000625 00 762 IDBGRN DC X'00' trace RN enable 000626 00 763 IDBGMC DC X'00' trace MC enable 000627 00 764 RANINI DC X'00' init RSHUF done flag 000628 765 DS 0D 000628 4510DCD000000000 766 RFACTOR DC D'69069.' 000630 4430390000000000 767 RSEED DC D'12345.' 000638 0000000000000000 768 RLAST DC D'0.' 000640 4910000000000000 769 RR32 DC D'4294967296.' is 4*1024*1024*1024 000648 770 RR32I DS D 000650 771 RNEW DS D 000658 772 RNEW1 DS D 000660 773 RFAC DS D 000668 774 RFAC1 DS D 775 * 000670 413243F6A8885A2F 776 PI DC D'3.141592653589793' 000678 777 PIEST DS D 000680 778 PIERR DS D 779 * 000688 780 X DS D 000690 781 Y DS D 000698 782 R DS D 783 * 784 * message strings 785 * 786 MSGHD1 OTXTDSC C' ntry nhit pi-est' 792 MSGHD2 OTXTDSC C' pi-err seed' 798 MSGMC OTXTDSC C'MC: ' 804 MSGPI OTXTDSC C'PI: ' 810 MSGRR OTXTDSC C'RR: ' 816 MSGRN OTXTDSC C'RN: ' 822 MSGCSEP OTXTDSC C' : ' 828 * 829 * spill literal pool 830 * PAGE 14 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 10.16 01/06/19 0006C0 831 LTORG 0006C0 4110000000000000 832 =D'1.' 0006C8 4120000000000000 833 =D'2.' 0006D0 4140000000000000 834 =D'4.' 0006D8 475F5E1000000000 835 =D'1.E8' 0006E0 45F4240000000000 836 =D'1.E6' 0006E8 4877359400000000 837 =D'2.E9' 0006F0 4080000000000000 838 =D'0.5' 0006F8 4A174876E7FF0000 839 =D'99999999999.' 000700 00000001 840 =F'1' 000704 00000920 841 =A(RSHUF) 000708 00000791 842 =A(OLBUF+1) 00070C 00000790 843 =A(OLBUF) 000710 00000730 844 =A(SYSPRINT) 000714 3B9AC9FF 845 =F'999999999' 000718 00FFFFFF 846 =X'00FFFFFF' 00071C 05F5E100 847 =F'100000000' 000720 00000818 848 =A(SYSIN) 000724 00000878 849 =A(ILBUF) 000728 00F0 850 =X'00F0' 00072A 00F9 851 =X'00F9' 00072C 0039 852 =X'0039' 853 * 854 * data section 855 * 000920 856 DATA CSECT 000920 857 RSHUF DS 128D 858 * 859 * other defs and end 860 * 861 YREGS , 00000 880 FR0 EQU 0 00002 881 FR2 EQU 2 00004 882 FR4 EQU 4 00006 883 FR6 EQU 6 000000 884 END MAIN define main entry point RELOCATION DICTIONARY PAGE 15 POS.ID REL.ID FLAGS ADDRESS ASM 0201 10.16 01/06/19 0001 0002 08 000019 0001 0002 08 000031 0001 0002 08 000191 0001 0002 08 00019D 0001 0002 0C 000374 0001 0002 0C 0005A8 0001 0002 0C 000708 0001 0002 0C 00070C 0001 0002 0C 000710 0001 0002 0C 000720 0001 0002 0C 000724 0001 0003 08 0006A1 0001 0003 08 0006A5 0001 0003 08 0006A9 0001 0003 08 0006AD 0001 0003 08 0006B1 0001 0003 08 0006B5 0001 0003 08 0006B9 0001 0004 0C 000704 0002 0001 08 000839 CROSS-REFERENCE PAGE 16 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 10.16 01/06/19 CMISS 00001 000000F0 00141 00139 EXIT 00004 0000018C 00195 00065 00075 00673 FR0 00001 00000000 00880 00078 00079 00080 00081 00125 00126 00127 00129 00130 00131 00132 00132 00135 00136 00138 00146 00148 00150 00162 00162 00163 00167 00168 00169 00170 00171 00171 00172 00180 00184 00223 00229 00230 00231 00235 00236 00238 00239 00240 00244 00250 00252 00255 00266 00267 00268 00269 00274 00275 00283 00285 00293 00294 00541 00546 00550 00570 00570 00591 00591 00593 00595 00596 FR2 00001 00000002 00881 00079 00133 00134 00134 00135 00165 00165 00166 00167 00269 00270 00271 00550 00551 00554 00558 00559 FR4 00001 00000004 00882 00279 00554 00555 00557 00558 00561 00562 FR6 00001 00000006 00883 00268 00280 00556 00556 00557 ICVB 00008 000005B8 00684 00751 00752 IDBGMC 00001 00000626 00763 00091 00098 00142 IDBGRN 00001 00000625 00762 00089 00096 00241 IDBGRR 00001 00000624 00761 00087 00094 00276 IEOFEXIT 00004 000005B0 00683 00670 IEOFHDL 00004 00000590 00670 00712 IEOFOK 00001 000005AC 00682 00092 00674 IGETLINE 00004 0000056C 00651 00085 00114 IGETLNEL 00004 0000058C 00662 00651 00659 IINT10 00004 000005C0 00750 00086 00088 00090 00115 ILBUF 00080 00000878 00744 00681 00849 ILOOP 00001 000000B2 00123 00157 ILPTR 00004 000005A8 00681 00658 00750 00754 IOPENOK 00001 00000044 00076 00073 MAIN 00001 00000000 00043 00048 00469 00745 00789 00795 00801 00807 00813 00819 00825 00884 MSGCSEP 00001 000006B8 00827 00287 MSGHD1 00001 000006A0 00791 00100 MSGHD2 00001 000006A4 00797 00102 MSGMC 00001 000006A8 00803 00144 MSGPI 00001 000006AC 00809 00174 MSGRN 00001 000006B4 00821 00245 MSGRR 00001 000006B0 00815 00281 NODBGMC 00001 00000122 00156 00143 NOHDPRT 00001 0000009E 00105 00095 00097 00099 OCVD 00008 00000380 00403 00477 00480 00564 00569 00601 00608 00615 00616 00619 ODNONE 00004 00000398 00407 00561 ODNZERO 00004 00000390 00406 00159 00230 00270 00555 00595 ODTEMP 00008 00000388 00405 00160 00161 00163 00164 00166 00562 00563 00596 00597 00598 OEF10L 00001 0000055E 00627 00614 00628 OEF10LL 00001 0000000A 00628 00614 00615 OEF10U 00001 00000568 00629 00618 00630 OEF10UL 00001 00000004 00630 00618 00619 OEF13XXL 00001 0000000D 00583 00566 00569 00574 00578 OEF1306 00001 000004C4 00581 00547 OEF1308 00001 000004D1 00582 00542 00583 OEI10 00001 000003CE 00488 00479 00489 00607 OEI10L 00001 0000000A 00489 00479 00480 00481 00607 00608 00609 OFIX1200 00002 000004DE 00591 00185 00251 00284 00286 OFIX13XX 00002 00000464 00550 00544 OFIX1308 00004 00000448 00541 00147 00149 00151 00181 00183 00253 OFX1200B 00001 0000052C 00613 00605 OFX1200F 00004 00000556 00624 00592 00594 OFX13XXF 00004 000004BC 00578 00552 OFX13XXP 00004 000004B2 00574 00571 CROSS-REFERENCE PAGE 17 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 10.16 01/06/19 OFX13XXR 00004 00000486 00562 00560 OHEX10 00004 000003D8 00494 00524 00527 OHEX10L 00004 00000418 00514 00494 00511 OHEX10NL 00002 000003E8 00499 00508 OHEX10OK 00004 000003FE 00505 00503 OHEX210L 00004 00000440 00531 00521 00528 OHEX210V 00004 00000444 00532 00522 00525 OINT10 00004 000003A0 00475 00153 00177 00179 00249 00290 OINT10F 00004 000003C6 00485 00476 OLBUF 00133 00000790 00467 00376 00400 00842 00843 OLCNT 00002 00000378 00401 00380 00381 00385 OLMAX 00002 0000037A 00402 00382 OLOOP 00004 000000A2 00114 00188 OLOOPE 00001 0000018A 00189 00117 OLPTR 00004 00000374 00400 00318 00319 00326 00332 00338 00350 00353 00378 00478 00482 00495 00510 00565 00575 00602 00610 00617 00621 OOPENOK 00004 0000002C 00068 00063 OPUTLINE 00004 00000310 00365 00104 00154 00186 00254 00291 OPUTLNEA 00002 0000036A 00392 00368 OPUTLNEL 00004 00000370 00396 00365 00388 OPUTLNES 00004 00000364 00388 00383 OSFILL 00004 000002C4 00332 00486 00579 00625 OSFILLL 00004 000002D0 00335 00337 OSFILLN 00004 000002D4 00336 00334 OTEXT 00004 000002E2 00347 00101 00103 00145 00175 00246 00282 00288 OTEXTL 00004 0000030C 00360 00347 00356 OTEXTMVC 00006 00000304 00359 00355 PI 00008 00000670 00776 00170 PIERR 00008 00000680 00778 00172 00182 PIEST 00008 00000678 00777 00169 00180 R 00008 00000698 00782 00136 00150 RANINI 00001 00000627 00764 00217 00226 RANNUM 00004 000001B4 00217 00124 00128 RANNUMGO 00004 000001D8 00228 00218 RANNUML 00004 000001C4 00222 00225 RANNUMNT 00001 00000242 00257 00242 RANRAW 00004 00000244 00266 00222 00237 RANRAWNT 00004 000002A2 00293 00277 RC 00004 00000620 00760 00064 00074 00206 00676 RFAC 00008 00000660 00773 00279 00289 RFACTOR 00008 00000628 00766 00267 RFAC1 00008 00000668 00774 00231 00232 00271 00273 00274 RLAST 00008 00000638 00768 00184 00229 00236 00239 00250 RNEW 00008 00000650 00771 00244 00252 00255 00275 00285 00293 RNEW1 00008 00000658 00772 00280 RR32 00008 00000640 00769 00080 RR32I 00008 00000648 00770 00081 00240 RSEED 00008 00000630 00767 00266 00283 00294 RSHUF 00008 00000920 00857 00841 R0 00001 00000000 00863 00159 00160 00182 00206 00207 00351 00352 00353 00370 00499 00499 00500 00501 00502 00504 00505 00543 00548 00568 00598 00599 00600 00601 00653 00657 00658 R1 00001 00000001 00864 00087 00089 00091 00100 00102 00116 00116 00121 00144 00152 00174 00176 00178 00245 00247 00248 00272 00272 00273 00281 00287 00289 00313 00318 00319 00325 00326 00337 00348 00359 00369 00475 00477 00485 00522 00523 00523 00525 00526 00526 00542 00547 00566 00567 00568 00572 00573 00578 00597 00604 00604 00616 00624 00652 00752 CROSS-REFERENCE PAGE 18 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 10.16 01/06/19 R12 00001 0000000C 00875 00047 00048 R13 00001 0000000D 00876 00049 00050 00051 00052 00205 00207 R14 00001 0000000E 00877 00085 00086 00088 00090 00101 00103 00104 00114 00115 00145 00147 00149 00151 00153 00154 00175 00177 00179 00181 00183 00185 00186 00246 00249 00251 00253 00254 00282 00284 00286 00288 00290 00291 00320 00327 00339 00347 00348 00349 00352 00354 00355 00356 00357 00365 00388 00389 00483 00494 00497 00507 00511 00512 00521 00524 00527 00528 00529 00576 00611 00622 00651 00659 00660 00673 00675 00677 00755 R15 00001 0000000F 00878 00047 00062 00062 00072 00072 00332 00333 00335 00336 00336 00338 00350 00351 00359 00366 00367 00370 00374 00375 00376 00376 00377 00377 00378 00379 00380 00381 00382 00384 00384 00385 00386 00387 00478 00479 00480 00481 00481 00482 00495 00496 00496 00497 00505 00506 00506 00507 00510 00563 00564 00565 00566 00567 00569 00574 00574 00575 00602 00603 00603 00607 00608 00609 00609 00610 00614 00615 00617 00618 00619 00620 00620 00621 00670 00671 00671 00672 00750 00751 00753 00753 00754 R2 00001 00000002 00865 00050 00052 00121 00157 R3 00001 00000003 00866 00111 00111 00137 00164 00176 R4 00001 00000004 00867 00112 00112 00140 00152 00161 00178 R6 00001 00000006 00869 00220 00223 00224 00224 00228 00235 00238 R7 00001 00000007 00870 00221 00225 00232 00233 00234 00235 00238 00247 R8 00001 00000008 00871 00124 00128 00259 R9 00001 00000009 00872 00222 00237 00295 SAVE 00004 000005D8 00759 00049 00051 00205 SIOSDATA 00001 00000730 00411 00688 SPTR0017 00037 000008C8 00788 00791 00791 SPTR0018 00025 000008ED 00794 00797 00797 SPTR0019 00004 00000906 00800 00803 00803 SPTR0020 00004 0000090A 00806 00809 00809 SPTR0021 00004 0000090E 00812 00815 00815 SPTR0022 00004 00000912 00818 00821 00821 SPTR0023 00003 00000916 00824 00827 00827 SYSIN 00004 00000818 00694 00070 00203 00848 SYSPRINT 00004 00000730 00417 00060 00197 00844 TEXT 00001 000008C8 00787 00793 00799 00805 00811 00817 00823 X 00008 00000688 00780 00127 00133 00146 Y 00008 00000690 00781 00131 00148 LITERAL CROSS-REFERENCE PAGE 19 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 10.16 01/06/19 =D'1.' 00008 000006C0 00832 00078 00126 00130 00138 =D'2.' 00008 000006C8 00833 00125 00129 =D'4.' 00008 000006D0 00834 00168 =D'1.E8' 00008 000006D8 00835 00541 =D'1.E6' 00008 000006E0 00836 00546 =D'2.E9' 00008 000006E8 00837 00551 =D'0.5' 00008 000006F0 00838 00559 =D'99999999999.' 00008 000006F8 00839 00593 =F'1' 00004 00000700 00840 00137 00140 =A(RSHUF) 00004 00000704 00841 00220 00228 =A(OLBUF+1) 00004 00000708 00842 00325 =A(OLBUF) 00004 0000070C 00843 00366 00374 00386 =A(SYSPRINT) 00004 00000710 00844 00369 =F'999999999' 00004 00000714 00845 00475 =X'00FFFFFF' 00004 00000718 00846 00599 =F'100000000' 00004 0000071C 00847 00600 =A(SYSIN) 00004 00000720 00848 00652 =A(ILBUF) 00004 00000724 00849 00653 00657 =X'00F0' 00002 00000728 00850 00501 =X'00F9' 00002 0000072A 00851 00502 =X'0039' 00002 0000072C 00852 00504 ASSEMBLER DIAGNOSTICS AND STATISTICS PAGE 20 ASM 0201 10.16 01/06/19 NO STATEMENTS FLAGGED IN THIS ASSEMBLY HIGHEST SEVERITY WAS 0 OPTIONS FOR THIS ASSEMBLY ALIGN, ALOGIC, BUFSIZE(STD), NODECK, ESD, FLAG(0), LINECOUNT(55), LIST, NOMCALL, YFLAG, WORKSIZE(2097152) NOMLOGIC, NONUMBER, OBJECT, NORENT, RLD, NOSTMT, NOLIBMAC, NOTERMINAL, NOTEST, XREF(SHORT) SYSPARM() WORK FILE BUFFER SIZE/NUMBER = 8702/ 1 TOTAL RECORDS READ FROM SYSTEM INPUT 675 TOTAL RECORDS READ FROM SYSTEM LIBRARY 3397 TOTAL RECORDS PUNCHED 62 TOTAL RECORDS PRINTED 947 F64-LEVEL LINKAGE EDITOR OPTIONS SPECIFIED MAP,LIST,LET,NCAL DEFAULT OPTION(S) USED - SIZE=(98304,55296) MODULE MAP CONTROL SECTION ENTRY NAME ORIGIN LENGTH NAME LOCATION NAME LOCATION NAME LOCATION NAME LOCATION MAIN 00 72E SIOSDATA 730 198 TEXT 8C8 51 DATA 920 400 ENTRY ADDRESS 00 TOTAL LENGTH D20 ****GO DOES NOT EXIST BUT HAS BEEN ADDED TO DATA SET AUTHORIZATION CODE IS 0. RR: 12345 852656805 : 0 RR: 852656805 3856269089 : 0 RR: 3856269089 547813997 : 0 RR: 547813997 2598048329 : 0 RR: 2598048329 866408821 : 0 RR: 866408821 211522481 : 0 RR: 211522481 2462466493 : 0 RR: 2462466493 3688250713 : 0 RR: 3688250713 688235845 : 0 RR: 688235845 3358513473 : 0 RR: 3358513473 2278376973 : 0 RR: 2278376973 1912389993 : 0 RR: 1912389993 3735172629 : 0 RR: 3735172629 3132710865 : 0 RR: 3132710865 1344296797 : 0 RR: 1344296797 632467065 : 0 RR: 632467065 4050312165 : 0 RR: 4050312165 2611066721 : 0 RR: 2611066721 2385561005 : 0 RR: 2385561005 482677897 : 0 RR: 482677897 543516341 : 0 RR: 543516341 2115989489 : 0 RR: 2115989489 130867453 : 0 RR: 130867453 2272920473 : 0 RR: 2272920473 2994513541 : 0 RR: 2994513541 3905624449 : 0 RR: 3905624449 3564108109 : 0 RR: 3564108109 3332410281 : 0 RR: 3332410281 3243273045 : 0 RR: 3243273045 1311654929 : 0 RR: 1311654929 949116573 : 0 RR: 949116573 446741689 : 0 RR: 446741689 956663077 : 0 RR: 956663077 1985183649 : 0 RR: 1985183649 2113495277 : 0 RR: 2113495277 3951797961 : 0 RR: 3951797961 1561707509 : 0 RR: 1561707509 1767267377 : 0 RR: 1767267377 419909693 : 0 RR: 419909693 3123403225 : 0 RR: 3123403225 2720004037 : 0 RR: 2720004037 1794337217 : 0 RR: 1794337217 1795914893 : 0 RR: 1795914893 3390236137 : 0 RR: 3390236137 2897735829 : 0 RR: 2897735829 2534946897 : 0 RR: 2534946897 1905407453 : 0 RR: 1905407453 2494454521 : 0 RR: 2494454521 1161199205 : 0 RR: 1161199205 2943571937 : 0 RR: 2943571937 2998193197 : 0 RR: 2998193197 357746953 : 0 RR: 357746953 277442869 : 0 RR: 277442869 2852411505 : 0 RR: 2852411505 3060371325 : 0 RR: 3060371325 4266541081 : 0 RR: 4266541081 3724777733 : 0 RR: 3724777733 2427177473 : 0 RR: 2427177473 1557385165 : 0 RR: 1557385165 3875000361 : 0 RR: 3875000361 1512883669 : 0 RR: 1512883669 1102789777 : 0 RR: 1102789777 1637080349 : 0 RR: 1637080349 2193590585 : 0 RR: 2193590585 4136748965 : 0 RR: 4136748965 2709864481 : 0 RR: 2709864481 1545013101 : 0 RR: 1545013101 4047403849 : 0 RR: 4047403849 3600051829 : 0 RR: 3600051829 3438109873 : 0 RR: 3438109873 2363989693 : 0 RR: 2363989693 927381081 : 0 RR: 927381081 2436598341 : 0 RR: 2436598341 3707255361 : 0 RR: 3707255361 3355243277 : 0 RR: 3355243277 4042476137 : 0 RR: 4042476137 2550328085 : 0 RR: 2550328085 3411759313 : 0 RR: 3411759313 3423294557 : 0 RR: 3423294557 1287145337 : 0 RR: 1287145337 313221349 : 0 RR: 313221349 135084129 : 0 RR: 135084129 1456738989 : 0 RR: 1456738989 1601355145 : 0 RR: 1601355145 703413 : 0 RR: 703413 1339392241 : 0 RR: 1339392241 1182105085 : 0 RR: 1182105085 3782786201 : 0 RR: 3782786201 1809566597 : 0 RR: 1809566597 1406974593 : 0 RR: 1406974593 398124621 : 0 RR: 398124621 1688818857 : 0 RR: 1688818857 2307809365 : 0 RR: 2307809365 3258742033 : 0 RR: 3258742033 292330397 : 0 RR: 292330397 326931897 : 0 RR: 326931897 2216118821 : 0 RR: 2216118821 1066352801 : 0 RR: 1066352801 1822420461 : 0 RR: 1822420461 152276937 : 0 RR: 152276937 3535821045 : 0 RR: 3535821045 3783306545 : 0 RR: 3783306545 3389467965 : 0 RR: 3389467965 1380471513 : 0 RR: 1380471513 3807927493 : 0 RR: 3807927493 3126676161 : 0 RR: 3126676161 1145153933 : 0 RR: 1145153933 2814242537 : 0 RR: 2814242537 3877840277 : 0 RR: 3877840277 94546257 : 0 RR: 94546257 1865134813 : 0 RR: 1865134813 4042290169 : 0 RR: 4042290169 2590606181 : 0 RR: 2590606181 2240764129 : 0 RR: 2240764129 2486081837 : 0 RR: 2486081837 2688872969 : 0 RR: 2688872969 3381216821 : 0 RR: 3381216821 2712856945 : 0 RR: 2712856945 2073078909 : 0 RR: 2073078909 4162418969 : 0 RR: 4162418969 1889877509 : 0 RR: 1889877509 3598576385 : 0 RR: 3598576385 314916045 : 0 RR: 314916045 1221925161 : 0 RR: 1221925161 1041578709 : 0 RR: 1041578709 97643921 : 0 RR: 97643921 1069324829 : 0 RR: 1069324829 938992185 : 0 RR: 938992185 1245056165 : 0 RN: 0 852656805 0.19852463 RR: 1245056165 949059873 : 19852463 RN: 25 3905624449 0.90934905 MC: -0.60295073 0.81869811 1.03381618 0 RR: 949059873 825496685 : 103381618 RN: 116 3381216821 0.78725089 RR: 825496685 539681865 : 78725089 RN: 100 3535821045 0.82324749 MC: 0.57450178 0.64649498 0.74800805 1 RR: 539681865 3560538997 : 74800805 RN: 105 3126676161 0.72798602 RR: 3560538997 1630549425 : 72798602 RN: 93 3258742033 0.75873501 MC: 0.45597205 0.51747001 0.47568572 2 RR: 1630549425 2080766909 : 47568572 RN: 97 1066352801 0.24827961 RR: 2080766909 2588946265 : 24827961 RN: 31 446741689 0.10401515 MC: -0.50344078 -0.79196969 0.88066861 3 RR: 2588946265 3556142917 : 88066861 RN: 13 3132710865 0.72939109 RR: 3556142917 2940377921 : 72939109 RN: 93 1630549425 0.37964187 MC: 0.45878217 -0.24071626 0.26842540 4 RR: 2940377921 1434034189 : 26842540 RN: 48 1161199205 0.27036276 RR: 1434034189 1066586985 : 27036276 RN: 34 2113495277 0.49208647 MC: -0.45927448 -0.01582707 0.21118355 5 RR: 1066586985 817405973 : 21118355 RN: 62 1637080349 0.38116247 RR: 817405973 68043217 : 38116247 RN: 48 1434034189 0.33388710 MC: -0.23767506 -0.33222579 0.16686341 6 RR: 68043217 982733149 : 16686341 RN: 42 1795914893 0.41814402 RR: 982733149 3027689593 : 41814402 RN: 53 2852411505 0.66412881 MC: -0.16371196 0.32825761 0.13455467 7 RR: 3027689593 1829823973 : 13455467 RN: 85 1339392241 0.31185156 RR: 1829823973 404339041 : 31185156 RN: 39 3123403225 0.72722398 MC: -0.37629688 0.45444797 0.34812230 8 RR: 404339041 1415864237 : 34812230 RN: 93 2940377921 0.68461008 RR: 1415864237 216622729 : 68461008 RN: 87 3782786201 0.88074855 MC: 0.36922017 0.76149709 0.71620135 9 PI: 10 9 3.60000000 0.45840735 3782786201