J E S 2 J O B L O G 07.47.17 JOB 21 IEF677I WARNING MESSAGE(S) FOR JOB MCPI#ASM ISSUED 07.47.17 JOB 21 $HASP373 MCPI#ASM STARTED - INIT 6 - CLASS C - SYS TK4- 07.47.17 JOB 21 IEF403I MCPI#ASM - STARTED - TIME=07.47.17 07.47.18 JOB 21 IEFACTRT - Stepname Procstep Program Retcode 07.47.18 JOB 21 MCPI#ASM CLG ASM IFOX00 RC= 0000 07.47.18 JOB 21 MCPI#ASM CLG LKED IEWL RC= 0000 07.47.18 JOB 21 MCPI#ASM CLG GO PGM=*.DD RC= 0000 07.47.18 JOB 21 IEF404I MCPI#ASM - ENDED - TIME=07.47.18 07.47.18 JOB 21 $HASP395 MCPI#ASM ENDED ------ JES2 JOB STATISTICS ------ 22 AUG 19 JOB EXECUTION DATE 698 CARDS READ 1,316 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 ***JOBPARM ROOM=4242 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 190 ALLOCATED TO SYSUT1 IEF237I 140 ALLOCATED TO SYSUT2 IEF237I 180 ALLOCATED TO SYSUT3 IEF237I JES2 ALLOCATED TO SYSPRINT IEF237I JES2 ALLOCATED TO SYSPUNCH IEF237I 170 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 SYS19234.T074717.RA000.MCPI#ASM.SYSUT1 DELETED *------280 IEF285I VOL SER NOS= WORK03. IEF285I SYS19234.T074717.RA000.MCPI#ASM.SYSUT2 DELETED *-------35 IEF285I VOL SER NOS= WORK00. IEF285I SYS19234.T074717.RA000.MCPI#ASM.SYSUT3 DELETED *-------16 IEF285I VOL SER NOS= WORK02. IEF285I JES2.JOB00021.SO0103 SYSOUT IEF285I JES2.JOB00021.SO0104 SYSOUT IEF285I SYS19234.T074717.RA000.MCPI#ASM.OBJSET PASSED *-------62 IEF285I VOL SER NOS= WORK01. IEF285I JES2.JOB00021.SI0101 SYSIN IEF373I STEP /ASM / START 19234.0747 IEF374I STEP /ASM / STOP 19234.0747 CPU 0MIN 00.21SEC SRB 0MIN 00.02SEC VIRT 128K SYS 208K ************************************************************************************************************************************ * 1. Jobstep of job: MCPI#ASM Stepname: ASM Program name: IFOX00 Executed on 22.08.19 from 07.47.17 to 07.47.18 * * elapsed time 00:00:00,28 CPU-Identifier: TK4- Page-in: 0 * * CPU time 00:00:00,23 Virtual Storage used: 128K Page-out: 0 * * corr. CPU: 00:00:00,23 CPU time has been corrected by 1 / 1,0 multiplier * * * * I/O Operation * * Number of records read via DD * or DD DATA: 671 * * 148......38 148.......0 248.......0 148.......0 190.....280 140......35 180......16 DMY.......0 DMY.......0 170......62 * * DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,38 * ************************************************************************************************************************************ IEF236I ALLOC. FOR MCPI#ASM LKED CLG IEF237I 170 ALLOCATED TO SYSLIN IEF237I DMY ALLOCATED TO IEF237I 190 ALLOCATED TO SYSLMOD IEF237I 180 ALLOCATED TO SYSUT1 IEF237I JES2 ALLOCATED TO SYSPRINT IEF142I MCPI#ASM LKED CLG - STEP WAS EXECUTED - COND CODE 0000 IEF285I SYS19234.T074717.RA000.MCPI#ASM.OBJSET DELETED *-------63 IEF285I VOL SER NOS= WORK01. IEF285I SYS19234.T074717.RA000.MCPI#ASM.GOSET PASSED *-------10 IEF285I VOL SER NOS= WORK03. IEF285I SYS19234.T074717.RA000.MCPI#ASM.SYSUT1 DELETED *--------0 IEF285I VOL SER NOS= WORK02. IEF285I JES2.JOB00021.SO0105 SYSOUT IEF373I STEP /LKED / START 19234.0747 IEF374I STEP /LKED / STOP 19234.0747 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 22.08.19 from 07.47.18 to 07.47.18 * * 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 * * 170......63 DMY.......0 190......10 180.......0 DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,03 * ************************************************************************************************************************************ IEF236I ALLOC. FOR MCPI#ASM GO CLG IEF237I 190 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 SYS19234.T074717.RA000.MCPI#ASM.GOSET KEPT *--------0 IEF285I VOL SER NOS= WORK03. IEF285I JES2.JOB00021.SO0106 SYSOUT IEF285I JES2.JOB00021.SO0107 SYSOUT IEF285I JES2.JOB00021.SI0102 SYSIN IEF373I STEP /GO / START 19234.0747 IEF374I STEP /GO / STOP 19234.0747 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 22.08.19 from 07.47.18 to 07.47.18 * * 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 * * 190.......0 DMY.......0 DMY.......0 DMY.......0 * * * * Charge for step (w/o SYSOUT): 0,01 * ************************************************************************************************************************************ IEF237I 190 ALLOCATED TO SYS00001 IEF285I SYS19234.T074718.RA000.MCPI#ASM.R0000001 KEPT *--------0 IEF285I VOL SER NOS= WORK03. IEF285I SYS19234.T074717.RA000.MCPI#ASM.GOSET DELETED IEF285I VOL SER NOS= WORK03. IEF375I JOB /MCPI#ASM/ START 19234.0747 IEF376I JOB /MCPI#ASM/ STOP 19234.0747 CPU 0MIN 00.24SEC SRB 0MIN 00.02SEC EXTERNAL SYMBOL DICTIONARY PAGE 1 SYMBOL TYPE ID ADDR LENGTH LDID ASM 0201 07.47 08/22/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 07.47 08/22/19 1 * 1 2 3 4 5 6 71 2 *23456789*12345*789012345678901234*678901234567890123456789012345678901 3 * $Id: mcpi_asm.asm 1171 2019-06-28 19:02:57Z mueller $ 4 * SPDX-License-Identifier: GPL-3.0-or-later 5 * Copyright 2017-2019 by Walter F.J. Mueller 6 * 7 * Revision History: 8 * Date Rev Version Comment 9 * 2018-03-03 996 1.2.1 use sios as path for sios snippets 10 * 2017-12-29 979 1.2 some more code optimizations 11 * 2017-12-28 978 1.1 use inverse to avoid divide by constant 12 * 2017-11-12 961 1.0 Initial version 13 * 2017-10-10 955 0.1 First draft 14 * 15 PRINT NOGEN don't show macro expansions 16 * 17 * Prime number search 18 * RC = 0 ok 19 * RC = 8 unexpected SYSIN EOF 20 * RC = 12 open SYSIN failed 21 * RC = 16 open SYSPRINT failed 22 * 23 * local macros -------------------------------------------------------- 24 * 25 * 26 * OTXTDSC - setup text descriptor for simple output system - 27 * 28 MACRO 29 &LABEL OTXTDSC &TEXT 30 TEXT CSECT 31 SPTR&SYSNDX DC &TEXT 32 &SYSECT CSECT 33 DS 0F 34 &LABEL DC AL1(L'SPTR&SYSNDX),AL3(SPTR&SYSNDX) 35 MEND 36 * 37 * main preamble ------------------------------------------------------- 38 * 000000 39 MAIN START 0 start main code csect at base 0 40 SAVE (14,12) Save input registers 000004 18CF 43 LR R12,R15 base register := entry address 00000 44 USING MAIN,R12 declare base register 000006 50D0 C5DC 005DC 45 ST R13,SAVE+4 set back pointer in current save area 00000A 182D 46 LR R2,R13 remember callers save area 00000C 41D0 C5D8 005D8 47 LA R13,SAVE setup current save area 000010 50D2 0008 00008 48 ST R13,8(R2) set forw pointer in callers save area 49 * 50 * open datasets ------------------------------------------------------- 51 * 52 OPEN (SYSPRINT,OUTPUT) open SYSPRINT 00001E 12FF 58 LTR R15,R15 test return code 000020 4780 C02C 0002C 59 BE OOPENOK 000024 9210 C623 00623 60 MVI RC+3,X'10' 000028 47F0 C18C 0018C 61 B EXIT quit with RC=16 62 OOPENOK OPEN (SYSIN,INPUT) open SYSIN PAGE 3 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 000036 12FF 68 LTR R15,R15 test return code 000038 4780 C044 00044 69 BE IOPENOK 00003C 920C C623 00623 70 MVI RC+3,X'0C' 000040 47F0 C18C 0018C 71 B EXIT quit with RC=12 00044 72 IOPENOK EQU * 73 * 000044 6800 C6C0 006C0 74 LD FR0,=D'1.' 000048 2820 75 LDR FR2,FR0 00004A 6D00 C640 00640 76 DD FR0,RR32 00004E 6000 C648 00648 77 STD FR0,RR32I RR32I = 1./RR32 78 * 79 * read debug flags ---------------------------------------------------- 80 * 000052 45E0 C56C 0056C 81 BAL R14,IGETLINE read input line 000056 45E0 C5C0 005C0 82 BAL R14,IINT10 get PRNT 00005A 4210 C624 00624 83 STC R1,IDBGRR 00005E 45E0 C5C0 005C0 84 BAL R14,IINT10 get PRNT 000062 4210 C625 00625 85 STC R1,IDBGRN 000066 45E0 C5C0 005C0 86 BAL R14,IINT10 get PRNT 00006A 4210 C626 00626 87 STC R1,IDBGMC 00006E 9201 C5AC 005AC 88 MVI IEOFOK,X'01' expect EOF from now on 89 * 000072 9500 C624 00624 90 CLI IDBGRR,X'00' if any trace skip header print 000076 4770 C09E 0009E 91 BNE NOHDPRT 00007A 9500 C625 00625 92 CLI IDBGRN,X'00' 00007E 4770 C09E 0009E 93 BNE NOHDPRT 000082 9500 C626 00626 94 CLI IDBGMC,X'00' 000086 4770 C09E 0009E 95 BNE NOHDPRT 00008A 5810 C6A0 006A0 96 L R1,MSGHD1 00008E 45E0 C2E2 002E2 97 BAL R14,OTEXT 000092 5810 C6A4 006A4 98 L R1,MSGHD2 000096 45E0 C2E2 002E2 99 BAL R14,OTEXT 00009A 45E0 C310 00310 100 BAL R14,OPUTLINE write header 0009E 101 NOHDPRT EQU * 102 * 103 * main body ----------------------------------------------------------- 104 * 105 * outer loop 106 * 00009E 1733 107 XR R3,R3 ntry = 0 0000A0 1744 108 XR R4,R4 nhit = 0 109 * 0000A2 45E0 C56C 0056C 110 OLOOP BAL R14,IGETLINE read input line 0000A6 45E0 C5C0 005C0 111 BAL R14,IINT10 get PRNT 0000AA 1211 112 LTR R1,R1 is ngo == 0 0000AC 4780 C18A 0018A 113 BE OLOOPE if = yes, quit outer loop 114 * 115 * inner loop 116 * 0000B0 1821 117 LR R2,R1 loop counter 118 * 000B2 119 ILOOP EQU * 0000B2 4580 C1B4 001B4 120 BAL R8,RANNUM 0000B6 6C00 C6C8 006C8 121 MD FR0,=D'2.' 0000BA 6B00 C6C0 006C0 122 SD FR0,=D'1.' PAGE 4 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 0000BE 6000 C688 00688 123 STD FR0,X 0000C2 4580 C1B4 001B4 124 BAL R8,RANNUM 0000C6 6C00 C6C8 006C8 125 MD FR0,=D'2.' 0000CA 6B00 C6C0 006C0 126 SD FR0,=D'1.' 0000CE 6000 C690 00690 127 STD FR0,Y 0000D2 2C00 128 MDR FR0,FR0 0000D4 6820 C688 00688 129 LD FR2,X 0000D8 2C22 130 MDR FR2,FR2 0000DA 2A02 131 ADR FR0,FR2 0000DC 6000 C698 00698 132 STD FR0,R 0000E0 5A30 C700 00700 133 A R3,=F'1' 0000E4 6900 C6C0 006C0 134 CD FR0,=D'1.' 0000E8 4720 C0F0 000F0 135 BH CMISS 0000EC 5A40 C700 00700 136 A R4,=F'1' 000F0 137 CMISS EQU * 0000F0 9500 C626 00626 138 CLI IDBGMC,X'00' 0000F4 4780 C122 00122 139 BE NODBGMC 0000F8 5810 C6A8 006A8 140 L R1,MSGMC 0000FC 45E0 C2E2 002E2 141 BAL R14,OTEXT print "MC: " 000100 6800 C688 00688 142 LD FR0,X 000104 45E0 C448 00448 143 BAL R14,OFIX1308 print x 000108 6800 C690 00690 144 LD FR0,Y 00010C 45E0 C448 00448 145 BAL R14,OFIX1308 print y 000110 6800 C698 00698 146 LD FR0,R 000114 45E0 C448 00448 147 BAL R14,OFIX1308 print r 000118 1814 148 LR R1,R4 00011A 45E0 C3A0 003A0 149 BAL R14,OINT10 print nhit 00011E 45E0 C310 00310 150 BAL R14,OPUTLINE write line 151 * 00122 152 NODBGMC EQU * 000122 4620 C0B2 000B2 153 BCT R2,ILOOP 154 * 000126 5800 C390 00390 155 L R0,ODNZERO 00012A 5000 C388 00388 156 ST R0,ODTEMP 00012E 5040 C38C 0038C 157 ST R4,ODTEMP+4 nhit as denorm float 000132 2B00 158 SDR FR0,FR0 FR0 := 0. 000134 6A00 C388 00388 159 AD FR0,ODTEMP add to re-normalize, FR0:=nhit 000138 5030 C38C 0038C 160 ST R3,ODTEMP+4 ntry as denorm float 00013C 2B22 161 SDR FR2,FR2 FR2 := 0. 00013E 6A20 C388 00388 162 AD FR2,ODTEMP add to re-normalize, FR2:=ntry 000142 2D02 163 DDR FR0,FR2 nhit/ntry 000144 6C00 C6D0 006D0 164 MD FR0,=D'4.' piest = 4.*nhit/ntry 000148 6000 C678 00678 165 STD FR0,PIEST 00014C 6B00 C670 00670 166 SD FR0,PI piest - pi 000150 2000 167 LPDR FR0,FR0 pierr = abs(piest - pi) 000152 6000 C680 00680 168 STD FR0,PIERR 169 * 000156 5810 C6AC 006AC 170 L R1,MSGPI 00015A 45E0 C2E2 002E2 171 BAL R14,OTEXT print "PI: " 00015E 1813 172 LR R1,R3 000160 45E0 C3A0 003A0 173 BAL R14,OINT10 print ntry 000164 1814 174 LR R1,R4 000166 45E0 C3A0 003A0 175 BAL R14,OINT10 print nhit 00016A 6800 C678 00678 176 LD FR0,PIEST 00016E 45E0 C448 00448 177 BAL R14,OFIX1308 print piest PAGE 5 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 000172 6800 C680 00680 178 LD R0,PIERR 000176 45E0 C448 00448 179 BAL R14,OFIX1308 print pierr 00017A 6800 C638 00638 180 LD FR0,RLAST 00017E 45E0 C4DE 004DE 181 BAL R14,OFIX1200 print rlast 000182 45E0 C310 00310 182 BAL R14,OPUTLINE write line 183 * 000186 47F0 C0A2 000A2 184 B OLOOP 0018A 185 OLOOPE EQU * 186 * 187 * close datasets and return to OS ------------------------------------- 188 * 189 EXIT CLOSE SYSPRINT close SYSPRINT 195 CLOSE SYSIN close SYSIN 0001A2 58D0 C5DC 005DC 201 L R13,SAVE+4 get old save area back 0001A6 5800 C620 00620 202 L R0,RC get return code 0001AA 500D 0010 00010 203 ST R0,16(R13) store in old save R15 204 RETURN (14,12) return to OS (will setup RC) 207 * 208 * RANNUM -------------------------------------------------------------- 209 * uses all float regs 210 * uses R0,R1,R6,R7,R8,R9,R14,R15 211 * keeps R2-R5,R10-R11 212 * 0001B4 9500 C627 00627 213 RANNUM CLI RANINI,X'00' init done ? 0001B8 4770 C1D8 001D8 214 BNE RANNUMGO if != yes 215 * 0001BC 5860 C704 00704 216 L R6,=A(RSHUF) pointer to rshuf 0001C0 4170 0080 00080 217 LA R7,128 loop count 0001C4 4590 C244 00244 218 RANNUML BAL R9,RANRAW get raw 0001C8 6006 0000 00000 219 STD FR0,0(R6) store 0001CC 4166 0008 00008 220 LA R6,8(R6) push pointer 0001D0 4670 C1C4 001C4 221 BCT R7,RANNUML and loop 0001D4 9201 C627 00627 222 MVI RANINI,X'01' ranini = true 223 * 0001D8 5860 C704 00704 224 RANNUMGO L R6,=A(RSHUF) pointer to rshuf 0001DC 6800 C638 00638 225 LD FR0,RLAST 0001E0 6E00 C390 00390 226 AW FR0,ODNZERO denormalize 0001E4 6000 C668 00668 227 STD FR0,RFAC1 0001E8 5870 C66C 0066C 228 L R7,RFAC1+4 int(rlast) 0001EC 8870 0019 00019 229 SRL R7,25 int(rlast/rdiv) 0001F0 8B70 0003 00003 230 SLA R7,3 convert index to offset 0001F4 6807 6000 00000 231 LD FR0,0(R7,R6) rshuf[i] 0001F8 6000 C638 00638 232 STD FR0,RLAST rlast = rshuf[i] 0001FC 4590 C244 00244 233 BAL R9,RANRAW get new random number 000200 6007 6000 00000 234 STD FR0,0(R7,R6) rshuf[i] = ranraw() 000204 6800 C638 00638 235 LD FR0,RLAST 000208 6C00 C648 00648 236 MD FR0,RR32I rlast*rr32i 00020C 9500 C625 00625 237 CLI IDBGRN,X'00' RN trace ? 000210 4780 C242 00242 238 BE RANNUMNT 239 * 000214 6000 C650 00650 240 STD FR0,RNEW save rnew 000218 5810 C6B4 006B4 241 L R1,MSGRN 00021C 45E0 C2E2 002E2 242 BAL R14,OTEXT print "RN: " 000220 1817 243 LR R1,R7 000222 8A10 0003 00003 244 SRA R1,3 convert back to index PAGE 6 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 000226 45E0 C3A0 003A0 245 BAL R14,OINT10 print i 00022A 6800 C638 00638 246 LD FR0,RLAST 00022E 45E0 C4DE 004DE 247 BAL R14,OFIX1200 print rlast 000232 6800 C650 00650 248 LD FR0,RNEW 000236 45E0 C448 00448 249 BAL R14,OFIX1308 print rnew 00023A 45E0 C310 00310 250 BAL R14,OPUTLINE write line 00023E 6800 C650 00650 251 LD FR0,RNEW restore rnew 252 * 00242 253 RANNUMNT EQU * 254 * 000242 07F8 255 BR R8 256 * 257 * RANRAW -------------------------------------------------------------- 258 * uses all float regs 259 * uses R0,R1,R14,R15 260 * keeps R2-R11 000244 6800 C630 00630 262 RANRAW LD FR0,RSEED 000248 6C00 C628 00628 263 MD FR0,RFACTOR rnew1 = rseed * 69069. 00024C 2860 264 LDR FR6,FR0 save rnew1 00024E 2820 265 LDR FR2,FR0 rmsb = rnew1 000250 6E20 C390 00390 266 AW FR2,ODNZERO denormalize 000254 6020 C668 00668 267 STD FR2,RFAC1 save 000258 1711 268 XR R1,R1 R1:=0 00025A 5010 C66C 0066C 269 ST R1,RFAC1+4 clear lower 32 bits of rmsb 00025E 6B00 C668 00668 270 SD FR0,RFAC1 rnew = rnew1 modulo 2^32 !! 000262 6000 C650 00650 271 STD FR0,RNEW 000266 9500 C624 00624 272 CLI IDBGRR,X'00' RR trace ? 00026A 4780 C2A2 002A2 273 BE RANRAWNT 274 * 00026E 6040 C660 00660 275 STD FR4,RFAC really save rfac 000272 6060 C658 00658 276 STD FR6,RNEW1 really save rnew1 000276 5810 C6B0 006B0 277 L R1,MSGRR 00027A 45E0 C2E2 002E2 278 BAL R14,OTEXT print "RR: " 00027E 6800 C630 00630 279 LD FR0,RSEED 000282 45E0 C4DE 004DE 280 BAL R14,OFIX1200 print rseed 000286 6800 C650 00650 281 LD FR0,RNEW 00028A 45E0 C4DE 004DE 282 BAL R14,OFIX1200 print rnew 00028E 5810 C6B8 006B8 283 L R1,MSGCSEP 000292 45E0 C2E2 002E2 284 BAL R14,OTEXT print " : " 000296 5810 C664 00664 285 L R1,RFAC+4 00029A 45E0 C3A0 003A0 286 BAL R14,OINT10 print ifac 00029E 45E0 C310 00310 287 BAL R14,OPUTLINE write line 288 * 0002A2 6800 C650 00650 289 RANRAWNT LD FR0,RNEW 0002A6 6000 C630 00630 290 STD FR0,RSEED 0002AA 07F9 291 BR R9 292 * 293 * include simple output system ---------------------------------------- 294 * 295 * simple output system procedures ------------------------------------- 296 * calling and register convention: 297 * R1 holds value (or descriptor pointer) 298 * R0,R1 may be modified 299 * R14,R15 may be modified PAGE 7 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 300 * R2-R11 are not changed 301 * 302 * in short 303 * R1 holds input or output value (or pointer) 304 * call with BAL R14, 305 * 306 * OSKIP02 -------------------------------------------------- 307 * add 2 blanks 308 * 0002AC 4110 0002 00002 309 OSKIP02 LA R1,2 310 * 311 * OSKIP ---------------------------------------------------- 312 * add blanks, count in R1 313 * 0002B0 5A10 C374 00374 314 OSKIP A R1,OLPTR new edit position 0002B4 5010 C374 00374 315 ST R1,OLPTR store pointer 0002B8 07FE 316 BR R14 317 * 318 * OTAB ---------------------------------------------------- 319 * set output column, position in R1 320 * 0002BA 5A10 C708 00708 321 OTAB A R1,=A(OLBUF+1) new edit position 0002BE 5010 C374 00374 322 ST R1,OLPTR store pointer 0002C2 07FE 323 BR R14 324 * 325 * OSFILL --------------------------------------------------- 326 * add " ***" pattern, total length in R1 327 * 0002C4 58F0 C374 00374 328 OSFILL L R15,OLPTR R15 points to edit position 0002C8 9240 F000 00000 329 MVI 0(R15),C' ' initial blank 0002CC 47F0 C2D4 002D4 330 B OSFILLN 0002D0 925C F000 00000 331 OSFILLL MVI 0(R15),C'*' further '*' 0002D4 41FF 0001 00001 332 OSFILLN LA R15,1(R15) 0002D8 4610 C2D0 002D0 333 BCT R1,OSFILLL 0002DC 50F0 C374 00374 334 ST R15,OLPTR store pointer 0002E0 07FE 335 BR R14 336 * 337 * OTEXT ---------------------------------------------------- 338 * print text, R1 hold descriptor address 339 * descriptor format 340 * DC AL1() 341 * DC AL2(
) 342 * 0002E2 50E0 C30C 0030C 343 OTEXT ST R14,OTEXTL save R14 0002E6 18E1 344 LR R14,R1 0002E8 88E0 0018 00018 345 SRL R14,24 R14 now string length 0002EC 58F0 C374 00374 346 L R15,OLPTR R15 points to edit position 0002F0 180F 347 LR R0,R15 R0 too 0002F2 1A0E 348 AR R0,R14 push pointer, add length 0002F4 5000 C374 00374 349 ST R0,OLPTR store pointer 0002F8 06E0 350 BCTR R14,0 decrement length for EX 0002FA 44E0 C304 00304 351 EX R14,OTEXTMVC copy string via EX:MVC 0002FE 58E0 C30C 0030C 352 L R14,OTEXTL restore R14 linkage 000302 07FE 353 BR R14 354 * PAGE 8 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 000304 D200 F000 1000 00000 00000 355 OTEXTMVC MVC 0(1,R15),0(R1) length via EX, dst R15, src R1 00030C 356 OTEXTL DS F save area for R14 (return linkage) 357 * 358 * OPUTLINE ------------------------------------------------- 359 * write line to SYSPRINT 360 * 000310 50E0 C370 00370 361 OPUTLINE ST R14,OPUTLNEL save R14 000314 58F0 C70C 0070C 362 L R15,=A(OLBUF) 000318 9500 F085 00085 363 CLI 133(R15),X'00' check fence byte 00031C 4770 C36A 0036A 364 BNE OPUTLNEA crash if fence blown 000320 5810 C710 00710 365 L R1,=A(SYSPRINT) R1 point to DCB 000324 180F 366 LR R0,R15 R1 point to buffer 367 PUT (1),(0) write line 00032C 58F0 C70C 0070C 370 L R15,=A(OLBUF) point to CC of OLBUF 000330 9240 F000 00000 371 MVI 0(R15),C' ' blank OLBUF(0) 000334 D283 F001 F000 00001 00000 372 MVC 1(L'OLBUF-1,R15),0(R15) propagate blank 00033A 41FF 0001 00001 373 LA R15,1(R15) point to 1st print char in OLBUF 00033E 50F0 C374 00374 374 ST R15,OLPTR reset current position pointer 000342 41F0 0001 00001 375 LA R15,1 000346 4AF0 C378 00378 376 AH R15,OLCNT increment line counter 00034A 40F0 C378 00378 377 STH R15,OLCNT 00034E 4BF0 C37A 0037A 378 SH R15,OLMAX R15 := OLCNT-OLMAX 000352 4740 C364 00364 379 BL OPUTLNES if < no new page 000356 17FF 380 XR R15,R15 R15 := 0 000358 40F0 C378 00378 381 STH R15,OLCNT clear line counter 00035C 58F0 C70C 0070C 382 L R15,=A(OLBUF) point to CC of OLBUF 000360 92F1 F000 00000 383 MVI 0(R15),C'1' set new page CC in OLBUF 000364 58E0 C370 00370 384 OPUTLNES L R14,OPUTLNEL restore R14 linkage 000368 07FE 385 BR R14 386 * 387 OPUTLNEA ABEND 255 abend in case of errors 391 * 000370 392 OPUTLNEL DS F save area for R14 (return linkage) 393 * 394 * Work area for simple output system ------------------------ 395 * 000374 00000791 396 OLPTR DC A(OLBUF+1) current output line position 000378 0000 397 OLCNT DC H'0' line counter 00037A 003C 398 OLMAX DC H'60' lines per page 000380 399 OCVD DS D buffer for CVD (8 byte, DW aligned) 400 * 000388 401 ODTEMP DS D double buffer for conversions 000390 4E00000000000000 402 ODNZERO DC X'4E000000',X'00000000' denormalized double zero 000398 4E00000000000001 403 ODNONE DC X'4E000000',X'00000001' denormalized double one 404 * 405 * DCB and OLBUF in separate CSECT 406 * 000730 407 SIOSDATA CSECT 000730 408 DS 0F 409 SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT, X RECFM=FBA,LRECL=133,BLKSIZE=0 000790 4040404040404040 463 OLBUF DC CL133' ',X'00' output line buffer and fence byte 464 * 0003A0 465 MAIN CSECT 466 * PAGE 9 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 467 * OINT10 --------------------------------------------------- 468 * print integer, like PL/I F(10) or C %10d format 469 * very fast, for non-negative numbers only ! 470 * 0003A0 5510 C714 00714 471 OINT10 CL R1,=F'999999999' too large ? 0003A4 4720 C3C6 003C6 472 BH OINT10F if > yes, do OSFILL 0003A8 4E10 C380 00380 473 CVD R1,OCVD convert 0003AC 58F0 C374 00374 474 L R15,OLPTR R15 points to edit position 0003B0 D209 F000 C3CE 00000 003CE 475 MVC 0(OEI10L,R15),OEI10 setup pattern 0003B6 DE09 F000 C383 00000 00383 476 ED 0(OEI10L,R15),OCVD+3 and edit 0003BC 41FF 000A 0000A 477 LA R15,OEI10L(R15) push pointer 0003C0 50F0 C374 00374 478 ST R15,OLPTR store pointer 0003C4 07FE 479 BR R14 480 * 0003C6 4110 000A 0000A 481 OINT10F LA R1,10 0003CA 47F0 C2C4 002C4 482 B OSFILL 483 * 0003CE 4020202020202020 484 OEI10 DC C' ',7X'20',X'21',X'20' pat: bddddddd(d 0000A 485 OEI10L EQU *-OEI10 486 * 487 * OHEX10 --------------------------------------------------- 488 * print integer, like C " %8.8x" format 489 * 0003D8 50E0 C418 00418 490 OHEX10 ST R14,OHEX10L save R14 0003DC 58F0 C374 00374 491 L R15,OLPTR R15 points to edit position 0003E0 41FF 0002 00002 492 LA R15,2(R15) add two blanks 0003E4 41EF 0008 00008 493 LA R14,8(R15) end of buffer 494 * 0003E8 1700 495 OHEX10NL XR R0,R0 R0 := 0 0003EA 8F00 0004 00004 496 SLDA R0,4 get next 4 bits into R0 0003EE 4A00 C728 00728 497 AH R0,=X'00F0' add '0' 0003F2 4900 C72A 0072A 498 CH R0,=X'00F9' above 9 ? 0003F6 47D0 C3FE 003FE 499 BNH OHEX10OK if <= no, skip A-F correction 0003FA 4B00 C72C 0072C 500 SH R0,=X'0039' sub (0xF0('0')+10)-0xC1('A')=0x39 0003FE 420F 0000 00000 501 OHEX10OK STC R0,0(R15) store hex digit 000402 41FF 0001 00001 502 LA R15,1(R15) push pointer 000406 19FE 503 CR R15,R14 beyond end ? 000408 4740 C3E8 003E8 504 BL OHEX10NL if < not, do next nibble 505 * 00040C 50F0 C374 00374 506 ST R15,OLPTR store pointer 000410 58E0 C418 00418 507 L R14,OHEX10L restore R14 linkage 000414 07FE 508 BR R14 509 * 000418 510 OHEX10L DS F save area for R14 (return linkage) 511 * 512 * OHEX210 -------------------------------------------------- 513 * print 64 field as two 32 bit hex numbers 514 * R1 points to memory location of 64 bit value 515 * rendered as " %8.8x %8.8x" 516 * 00041C 50E0 C440 00440 517 OHEX210 ST R14,OHEX210L save R14 000420 5010 C444 00444 518 ST R1,OHEX210V save R1 000424 5811 0000 00000 519 L R1,0(R1) get high part 000428 45E0 C3D8 003D8 520 BAL R14,OHEX10 convert 00042C 5810 C444 00444 521 L R1,OHEX210V PAGE 10 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 000430 5811 0004 00004 522 L R1,4(R1) get low part 000434 45E0 C3D8 003D8 523 BAL R14,OHEX10 convert 000438 58E0 C440 00440 524 L R14,OHEX210L restore R14 linkage 00043C 07FE 525 BR R14 and return 526 * 000440 527 OHEX210L DS F save area for R14 (return linkage) 000444 528 OHEX210V DS F save area for R1 (value ptr) 529 * 530 * OFIX1308, OFIX1306 - ------------------------------------- 531 * print double, like 532 * OFIX1308: PL/I F(13,8) or C %13.8f format 533 * OFIX1306: PL/I F(13,6) or C %13.6f format 534 * input value in floating reg FR0 535 * handles signed numbers 536 * 000448 6C00 C6D8 006D8 537 OFIX1308 MD FR0,=D'1.E8' 'shift' 8 digits left 00044C 4110 C4D1 004D1 538 LA R1,OEF1308 pointer to edit pattern 000450 4100 0003 00003 539 LA R0,3 offset to one behind X'21' position 000454 47F0 C464 00464 540 B OFIX13XX 541 * 000458 6C00 C6E0 006E0 542 OFIX1306 MD FR0,=D'1.E6' 'shift' 6 digits left 00045C 4110 C4C4 004C4 543 LA R1,OEF1306 pointer to edit pattern 000460 4100 0005 00005 544 LA R0,5 offset to one behind X'21' position 545 * 000464 2020 546 OFIX13XX LPDR FR2,FR0 get abbs() value 000466 6920 C6E8 006E8 547 CD FR2,=D'2.E9' too large ? 00046A 47B0 C4BC 004BC 548 BNL OFX13XXF if >= yes, do OSFILL 549 * 00046E 2842 550 LDR FR4,FR2 000470 6E40 C390 00390 551 AW FR4,ODNZERO FR4 := de-normalized FR2 000474 2B66 552 SDR FR6,FR6 FR6 := 0. 000476 2A64 553 ADR FR6,FR4 get integer part 000478 2B24 554 SDR FR2,FR4 get fractional part 00047A 6920 C6F0 006F0 555 CD FR2,=D'0.5' check if >= 0.5 00047E 4740 C486 00486 556 BL OFX13XXR if < no need to round up 000482 6E40 C398 00398 557 AW FR4,ODNONE otherwise add LSB DENORM 000486 6040 C388 00388 558 OFX13XXR STD FR4,ODTEMP roll-out to memory 00048A 58F0 C38C 0038C 559 L R15,ODTEMP+4 get integer part 00048E 4EF0 C380 00380 560 CVD R15,OCVD convert 000492 58F0 C374 00374 561 L R15,OLPTR R15 points to edit position 000496 D20C F000 1000 00000 00000 562 MVC 0(OEF13XXL,R15),0(R1) setup pattern 00049C 181F 563 LR R1,R15 setup R1 in case of miss 00049E 1A10 564 AR R1,R0 to one behind X'21' position 0004A0 DF0C F000 C382 00000 00382 565 EDMK 0(OEF13XXL,R15),OCVD+2 and edit (and set R1) 0004A6 2200 566 LTDR FR0,FR0 negative number ? 0004A8 47B0 C4B2 004B2 567 BNM OFX13XXP if >= not 0004AC 0610 568 BCTR R1,0 decrement pointer 0004AE 9260 1000 00000 569 MVI 0(R1),C'-' write '-' sign 0004B2 41FF 000D 0000D 570 OFX13XXP LA R15,OEF13XXL(R15) push pointer 0004B6 50F0 C374 00374 571 ST R15,OLPTR store pointer 0004BA 07FE 572 BR R14 573 * 0004BC 4110 000D 0000D 574 OFX13XXF LA R1,OEF13XXL 0004C0 47F0 C2C4 002C4 575 B OSFILL 576 * PAGE 11 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 0004C4 4020202021204B20 577 OEF1306 DC C' ',3X'20',X'21',X'20',C'.',6X'20' pat: bddd(d.dddddd 0004D1 402021204B202020 578 OEF1308 DC C' ',1X'20',X'21',X'20',C'.',8X'20' pat: bd(d.dddddddd 0000D 579 OEF13XXL EQU *-OEF1308 581 * 582 * OFIX1200 ------------------------------------------------- 583 * print double, like PL/I F(12,0) or C %12.0f format 584 * input value in floating reg FR0 585 * only for non-negatve numbers 586 * 0004DE 2200 587 OFIX1200 LTDR FR0,FR0 check whether negative 0004E0 4740 C556 00556 588 BL OFX1200F if < yes, do OSFILL 0004E4 6900 C6F8 006F8 589 CD FR0,=D'99999999999.' too large ? 0004E8 4720 C556 00556 590 BH OFX1200F if > yes, do OSFILL 0004EC 6E00 C390 00390 591 AW FR0,ODNZERO de-normalize 0004F0 6000 C388 00388 592 STD FR0,ODTEMP roll-out to memory 0004F4 5810 C38C 0038C 593 L R1,ODTEMP+4 0004F8 5800 C388 00388 594 L R0,ODTEMP 0004FC 5400 C718 00718 595 N R0,=X'00FFFFFF' 000500 5D00 C71C 0071C 596 D R0,=F'100000000' now R0 lower 9, R1 upper digits 000504 4E00 C380 00380 597 CVD R0,OCVD BCD convert lower part 000508 58F0 C374 00374 598 L R15,OLPTR R15 points to edit position 00050C 41FF 0002 00002 599 LA R15,2(R15) add two blanks 000510 1211 600 LTR R1,R1 upper != 0 000512 4770 C52C 0052C 601 BNZ OFX1200B if != yes, handle large number 602 * 000516 D209 F000 C3CE 00000 003CE 603 MVC 0(OEI10L,R15),OEI10 setup pattern (from OINT10) 00051C DE09 F000 C383 00000 00383 604 ED 0(OEI10L,R15),OCVD+3 and edit 000522 41FF 000A 0000A 605 LA R15,OEI10L(R15) push pointer 000526 50F0 C374 00374 606 ST R15,OLPTR store pointer 00052A 07FE 607 BR R14 608 * 0052C 609 OFX1200B EQU * 00052C D209 F000 C55E 00000 0055E 610 MVC 0(OEF10LL,R15),OEF10L setup pattern 000532 DE09 F000 C383 00000 00383 611 ED 0(OEF10LL,R15),OCVD+3 and edit 000538 4E10 C380 00380 612 CVD R1,OCVD BCD convert upper part 00053C 58F0 C374 00374 613 L R15,OLPTR R15 points to edit position 000540 D203 F000 C568 00000 00568 614 MVC 0(OEF10UL,R15),OEF10U setup pattern 000546 DE03 F000 C386 00000 00386 615 ED 0(OEF10UL,R15),OCVD+6 and edit 00054C 41FF 000C 0000C 616 LA R15,12(R15) push pointer 000550 50F0 C374 00374 617 ST R15,OLPTR store pointer 000554 07FE 618 BR R14 619 * 000556 4110 000C 0000C 620 OFX1200F LA R1,12 00055A 47F0 C2C4 002C4 621 B OSFILL 622 * 00055E 4021202020202020 623 OEF10L DC C' ',X'21',8X'20' pat: b(dddddddd 0000A 624 OEF10LL EQU *-OEF10L 000568 40202120 625 OEF10U DC C' ',X'20',X'21',X'20' pat: bd(d 00004 626 OEF10UL EQU *-OEF10U 627 * include simple input system ----------------------------------------- 628 * 629 * simple input system procedures -------------------------------------- 630 * calling and register convention: 631 * R1 holds value (or descriptor pointer) PAGE 12 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 632 * R0,R1 may be modified 633 * R14,R15 may be modified 634 * R2-R11 are not changed 635 * 636 * in short 637 * R1 holds input or output value (or pointer) 638 * call with BAL R14, 639 * 640 * IGETLINE ------------------------------------------------- 641 * read line from SYSIN 642 * EOF handling: 643 * - IEOFOK holds the 'EOF OK' flag 644 * - if EOF seen and IEOFOK = X'00', program ends with RC=8 645 * - if EOF seen and IEOFOK != X'00', program ends with RC=0 646 * 00056C 50E0 C58C 0058C 647 IGETLINE ST R14,IGETLNEL save R14 000570 5810 C720 00720 648 L R1,=A(SYSIN) 000574 5800 C724 00724 649 L R0,=A(ILBUF) 650 GET (1),(0) read line 00057E 5800 C724 00724 653 L R0,=A(ILBUF) 000582 5000 C5A8 005A8 654 ST R0,ILPTR set input ptr to begin of line 000586 58E0 C58C 0058C 655 L R14,IGETLNEL restore R14 linkage 00058A 07FE 656 BR R14 657 * 00058C 658 IGETLNEL DS F save area for R14 (return linkage) 659 * 660 * IEOFHDL -------------------------------------------------- 661 * EODAD call-back routine. R2-R13 are preserved. R0,R1,R14,R15 are, 662 * modified, with R14 holding address of calling macro. So code 663 * executes in the same environment as prior to the GET call, 664 * especially base registers are kept. 665 * 000590 58F0 C5B0 005B0 666 IEOFHDL L R15,IEOFEXIT load user exit address 000594 12FF 667 LTR R15,R15 test address 000596 077F 668 BNER R15 if !=, use user exit 000598 41E0 C18C 0018C 669 LA R14,EXIT 00059C 9500 C5AC 005AC 670 CLI IEOFOK,X'00' is EOF ok ? 0005A0 077E 671 BNER R14 if != yes, jump to EXIT 0005A2 9208 C623 00623 672 MVI RC+3,X'08' otherwise set RC=8 0005A6 07FE 673 BR R14 and jump to EXIT 674 * 675 * Work area for simple output system ------------------------ 676 * 0005A8 00000878 677 ILPTR DC A(ILBUF) current input line position 0005AC 678 IEOFOK DS X'00' EOF ok flag 0005B0 679 IEOFEXIT DS F'0' user exit address (if != 0) 0005B8 680 ICVB DS D buffer for CVB (8 byte, DW aligned) 681 * 682 * DCB and OLBUF in separate CSECT 683 * 000816 684 SIOSDATA CSECT 000818 685 DS 0F 686 SYSIN DCB DSORG=PS,MACRF=GM,DDNAME=SYSIN,EODAD=IEOFHDL X RECFM=FB,LRECL=80,BLKSIZE=0 000878 4040404040404040 740 ILBUF DC CL80' ' input line buffer PAGE 13 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 0005C0 741 MAIN CSECT 742 * 743 * IINT10 --------------------------------------------------- 744 * read integer, like PL/I F(10) or C %10d format 745 * 0005C0 58F0 C5A8 005A8 746 IINT10 L R15,ILPTR get input pointer 0005C4 F279 C5B8 F000 005B8 00000 747 PACK ICVB(8),0(10,R15) pack next 10 char 0005CA 4F10 C5B8 005B8 748 CVB R1,ICVB and convert 0005CE 41FF 000A 0000A 749 LA R15,10(R15) push pointer by 10 char 0005D2 50F0 C5A8 005A8 750 ST R15,ILPTR and update 0005D6 07FE 751 BR R14 752 * 753 * Work area definitions ----------------------------------------------- 754 * 0005D8 755 SAVE DS 18F local save area 000620 00000000 756 RC DC F'0' return code 000624 00 757 IDBGRR DC X'00' trace RR enable 000625 00 758 IDBGRN DC X'00' trace RN enable 000626 00 759 IDBGMC DC X'00' trace MC enable 000627 00 760 RANINI DC X'00' init RSHUF done flag 000628 761 DS 0D 000628 4510DCD000000000 762 RFACTOR DC D'69069.' 000630 4430390000000000 763 RSEED DC D'12345.' 000638 0000000000000000 764 RLAST DC D'0.' 000640 4910000000000000 765 RR32 DC D'4294967296.' is 4*1024*1024*1024 000648 766 RR32I DS D 000650 767 RNEW DS D 000658 768 RNEW1 DS D 000660 769 RFAC DS D 000668 770 RFAC1 DS D 771 * 000670 413243F6A8885A2F 772 PI DC D'3.141592653589793' 000678 773 PIEST DS D 000680 774 PIERR DS D 775 * 000688 776 X DS D 000690 777 Y DS D 000698 778 R DS D 779 * 780 * message strings 781 * 782 MSGHD1 OTXTDSC C' ntry nhit pi-est' 788 MSGHD2 OTXTDSC C' pi-err seed' 794 MSGMC OTXTDSC C'MC: ' 800 MSGPI OTXTDSC C'PI: ' 806 MSGRR OTXTDSC C'RR: ' 812 MSGRN OTXTDSC C'RN: ' 818 MSGCSEP OTXTDSC C' : ' 824 * 825 * spill literal pool 826 * 0006C0 827 LTORG 0006C0 4110000000000000 828 =D'1.' 0006C8 4120000000000000 829 =D'2.' 0006D0 4140000000000000 830 =D'4.' PAGE 14 LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 07.47 08/22/19 0006D8 475F5E1000000000 831 =D'1.E8' 0006E0 45F4240000000000 832 =D'1.E6' 0006E8 4877359400000000 833 =D'2.E9' 0006F0 4080000000000000 834 =D'0.5' 0006F8 4A174876E7FF0000 835 =D'99999999999.' 000700 00000001 836 =F'1' 000704 00000920 837 =A(RSHUF) 000708 00000791 838 =A(OLBUF+1) 00070C 00000790 839 =A(OLBUF) 000710 00000730 840 =A(SYSPRINT) 000714 3B9AC9FF 841 =F'999999999' 000718 00FFFFFF 842 =X'00FFFFFF' 00071C 05F5E100 843 =F'100000000' 000720 00000818 844 =A(SYSIN) 000724 00000878 845 =A(ILBUF) 000728 00F0 846 =X'00F0' 00072A 00F9 847 =X'00F9' 00072C 0039 848 =X'0039' 849 * 850 * data section 851 * 000920 852 DATA CSECT 000920 853 RSHUF DS 128D 854 * 855 * other defs and end 856 * 857 YREGS , 00000 876 FR0 EQU 0 00002 877 FR2 EQU 2 00004 878 FR4 EQU 4 00006 879 FR6 EQU 6 000000 880 END MAIN define main entry point RELOCATION DICTIONARY PAGE 15 POS.ID REL.ID FLAGS ADDRESS ASM 0201 07.47 08/22/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 07.47 08/22/19 CMISS 00001 000000F0 00137 00135 EXIT 00004 0000018C 00191 00061 00071 00669 FR0 00001 00000000 00876 00074 00075 00076 00077 00121 00122 00123 00125 00126 00127 00128 00128 00131 00132 00134 00142 00144 00146 00158 00158 00159 00163 00164 00165 00166 00167 00167 00168 00176 00180 00219 00225 00226 00227 00231 00232 00234 00235 00236 00240 00246 00248 00251 00262 00263 00264 00265 00270 00271 00279 00281 00289 00290 00537 00542 00546 00566 00566 00587 00587 00589 00591 00592 FR2 00001 00000002 00877 00075 00129 00130 00130 00131 00161 00161 00162 00163 00265 00266 00267 00546 00547 00550 00554 00555 FR4 00001 00000004 00878 00275 00550 00551 00553 00554 00557 00558 FR6 00001 00000006 00879 00264 00276 00552 00552 00553 ICVB 00008 000005B8 00680 00747 00748 IDBGMC 00001 00000626 00759 00087 00094 00138 IDBGRN 00001 00000625 00758 00085 00092 00237 IDBGRR 00001 00000624 00757 00083 00090 00272 IEOFEXIT 00004 000005B0 00679 00666 IEOFHDL 00004 00000590 00666 00708 IEOFOK 00001 000005AC 00678 00088 00670 IGETLINE 00004 0000056C 00647 00081 00110 IGETLNEL 00004 0000058C 00658 00647 00655 IINT10 00004 000005C0 00746 00082 00084 00086 00111 ILBUF 00080 00000878 00740 00677 00845 ILOOP 00001 000000B2 00119 00153 ILPTR 00004 000005A8 00677 00654 00746 00750 IOPENOK 00001 00000044 00072 00069 MAIN 00001 00000000 00039 00044 00465 00741 00785 00791 00797 00803 00809 00815 00821 00880 MSGCSEP 00001 000006B8 00823 00283 MSGHD1 00001 000006A0 00787 00096 MSGHD2 00001 000006A4 00793 00098 MSGMC 00001 000006A8 00799 00140 MSGPI 00001 000006AC 00805 00170 MSGRN 00001 000006B4 00817 00241 MSGRR 00001 000006B0 00811 00277 NODBGMC 00001 00000122 00152 00139 NOHDPRT 00001 0000009E 00101 00091 00093 00095 OCVD 00008 00000380 00399 00473 00476 00560 00565 00597 00604 00611 00612 00615 ODNONE 00004 00000398 00403 00557 ODNZERO 00004 00000390 00402 00155 00226 00266 00551 00591 ODTEMP 00008 00000388 00401 00156 00157 00159 00160 00162 00558 00559 00592 00593 00594 OEF10L 00001 0000055E 00623 00610 00624 OEF10LL 00001 0000000A 00624 00610 00611 OEF10U 00001 00000568 00625 00614 00626 OEF10UL 00001 00000004 00626 00614 00615 OEF13XXL 00001 0000000D 00579 00562 00565 00570 00574 OEF1306 00001 000004C4 00577 00543 OEF1308 00001 000004D1 00578 00538 00579 OEI10 00001 000003CE 00484 00475 00485 00603 OEI10L 00001 0000000A 00485 00475 00476 00477 00603 00604 00605 OFIX1200 00002 000004DE 00587 00181 00247 00280 00282 OFIX13XX 00002 00000464 00546 00540 OFIX1308 00004 00000448 00537 00143 00145 00147 00177 00179 00249 OFX1200B 00001 0000052C 00609 00601 OFX1200F 00004 00000556 00620 00588 00590 OFX13XXF 00004 000004BC 00574 00548 OFX13XXP 00004 000004B2 00570 00567 CROSS-REFERENCE PAGE 17 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 07.47 08/22/19 OFX13XXR 00004 00000486 00558 00556 OHEX10 00004 000003D8 00490 00520 00523 OHEX10L 00004 00000418 00510 00490 00507 OHEX10NL 00002 000003E8 00495 00504 OHEX10OK 00004 000003FE 00501 00499 OHEX210L 00004 00000440 00527 00517 00524 OHEX210V 00004 00000444 00528 00518 00521 OINT10 00004 000003A0 00471 00149 00173 00175 00245 00286 OINT10F 00004 000003C6 00481 00472 OLBUF 00133 00000790 00463 00372 00396 00838 00839 OLCNT 00002 00000378 00397 00376 00377 00381 OLMAX 00002 0000037A 00398 00378 OLOOP 00004 000000A2 00110 00184 OLOOPE 00001 0000018A 00185 00113 OLPTR 00004 00000374 00396 00314 00315 00322 00328 00334 00346 00349 00374 00474 00478 00491 00506 00561 00571 00598 00606 00613 00617 OOPENOK 00004 0000002C 00064 00059 OPUTLINE 00004 00000310 00361 00100 00150 00182 00250 00287 OPUTLNEA 00002 0000036A 00388 00364 OPUTLNEL 00004 00000370 00392 00361 00384 OPUTLNES 00004 00000364 00384 00379 OSFILL 00004 000002C4 00328 00482 00575 00621 OSFILLL 00004 000002D0 00331 00333 OSFILLN 00004 000002D4 00332 00330 OTEXT 00004 000002E2 00343 00097 00099 00141 00171 00242 00278 00284 OTEXTL 00004 0000030C 00356 00343 00352 OTEXTMVC 00006 00000304 00355 00351 PI 00008 00000670 00772 00166 PIERR 00008 00000680 00774 00168 00178 PIEST 00008 00000678 00773 00165 00176 R 00008 00000698 00778 00132 00146 RANINI 00001 00000627 00760 00213 00222 RANNUM 00004 000001B4 00213 00120 00124 RANNUMGO 00004 000001D8 00224 00214 RANNUML 00004 000001C4 00218 00221 RANNUMNT 00001 00000242 00253 00238 RANRAW 00004 00000244 00262 00218 00233 RANRAWNT 00004 000002A2 00289 00273 RC 00004 00000620 00756 00060 00070 00202 00672 RFAC 00008 00000660 00769 00275 00285 RFACTOR 00008 00000628 00762 00263 RFAC1 00008 00000668 00770 00227 00228 00267 00269 00270 RLAST 00008 00000638 00764 00180 00225 00232 00235 00246 RNEW 00008 00000650 00767 00240 00248 00251 00271 00281 00289 RNEW1 00008 00000658 00768 00276 RR32 00008 00000640 00765 00076 RR32I 00008 00000648 00766 00077 00236 RSEED 00008 00000630 00763 00262 00279 00290 RSHUF 00008 00000920 00853 00837 R0 00001 00000000 00859 00155 00156 00178 00202 00203 00347 00348 00349 00366 00495 00495 00496 00497 00498 00500 00501 00539 00544 00564 00594 00595 00596 00597 00649 00653 00654 R1 00001 00000001 00860 00083 00085 00087 00096 00098 00112 00112 00117 00140 00148 00170 00172 00174 00241 00243 00244 00268 00268 00269 00277 00283 00285 00309 00314 00315 00321 00322 00333 00344 00355 00365 00471 00473 00481 00518 00519 00519 00521 00522 00522 00538 00543 00562 00563 00564 00568 00569 00574 00593 00600 00600 00612 00620 00648 00748 CROSS-REFERENCE PAGE 18 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 07.47 08/22/19 R12 00001 0000000C 00871 00043 00044 R13 00001 0000000D 00872 00045 00046 00047 00048 00201 00203 R14 00001 0000000E 00873 00081 00082 00084 00086 00097 00099 00100 00110 00111 00141 00143 00145 00147 00149 00150 00171 00173 00175 00177 00179 00181 00182 00242 00245 00247 00249 00250 00278 00280 00282 00284 00286 00287 00316 00323 00335 00343 00344 00345 00348 00350 00351 00352 00353 00361 00384 00385 00479 00490 00493 00503 00507 00508 00517 00520 00523 00524 00525 00572 00607 00618 00647 00655 00656 00669 00671 00673 00751 R15 00001 0000000F 00874 00043 00058 00058 00068 00068 00328 00329 00331 00332 00332 00334 00346 00347 00355 00362 00363 00366 00370 00371 00372 00372 00373 00373 00374 00375 00376 00377 00378 00380 00380 00381 00382 00383 00474 00475 00476 00477 00477 00478 00491 00492 00492 00493 00501 00502 00502 00503 00506 00559 00560 00561 00562 00563 00565 00570 00570 00571 00598 00599 00599 00603 00604 00605 00605 00606 00610 00611 00613 00614 00615 00616 00616 00617 00666 00667 00667 00668 00746 00747 00749 00749 00750 R2 00001 00000002 00861 00046 00048 00117 00153 R3 00001 00000003 00862 00107 00107 00133 00160 00172 R4 00001 00000004 00863 00108 00108 00136 00148 00157 00174 R6 00001 00000006 00865 00216 00219 00220 00220 00224 00231 00234 R7 00001 00000007 00866 00217 00221 00228 00229 00230 00231 00234 00243 R8 00001 00000008 00867 00120 00124 00255 R9 00001 00000009 00868 00218 00233 00291 SAVE 00004 000005D8 00755 00045 00047 00201 SIOSDATA 00001 00000730 00407 00684 SPTR0017 00037 000008C8 00784 00787 00787 SPTR0018 00025 000008ED 00790 00793 00793 SPTR0019 00004 00000906 00796 00799 00799 SPTR0020 00004 0000090A 00802 00805 00805 SPTR0021 00004 0000090E 00808 00811 00811 SPTR0022 00004 00000912 00814 00817 00817 SPTR0023 00003 00000916 00820 00823 00823 SYSIN 00004 00000818 00690 00066 00199 00844 SYSPRINT 00004 00000730 00413 00056 00193 00840 TEXT 00001 000008C8 00783 00789 00795 00801 00807 00813 00819 X 00008 00000688 00776 00123 00129 00142 Y 00008 00000690 00777 00127 00144 LITERAL CROSS-REFERENCE PAGE 19 SYMBOL LEN VALUE DEFN REFERENCES ASM 0201 07.47 08/22/19 =D'1.' 00008 000006C0 00828 00074 00122 00126 00134 =D'2.' 00008 000006C8 00829 00121 00125 =D'4.' 00008 000006D0 00830 00164 =D'1.E8' 00008 000006D8 00831 00537 =D'1.E6' 00008 000006E0 00832 00542 =D'2.E9' 00008 000006E8 00833 00547 =D'0.5' 00008 000006F0 00834 00555 =D'99999999999.' 00008 000006F8 00835 00589 =F'1' 00004 00000700 00836 00133 00136 =A(RSHUF) 00004 00000704 00837 00216 00224 =A(OLBUF+1) 00004 00000708 00838 00321 =A(OLBUF) 00004 0000070C 00839 00362 00370 00382 =A(SYSPRINT) 00004 00000710 00840 00365 =F'999999999' 00004 00000714 00841 00471 =X'00FFFFFF' 00004 00000718 00842 00595 =F'100000000' 00004 0000071C 00843 00596 =A(SYSIN) 00004 00000720 00844 00648 =A(ILBUF) 00004 00000724 00845 00649 00653 =X'00F0' 00002 00000728 00846 00497 =X'00F9' 00002 0000072A 00847 00498 =X'0039' 00002 0000072C 00848 00500 ASSEMBLER DIAGNOSTICS AND STATISTICS PAGE 20 ASM 0201 07.47 08/22/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 671 TOTAL RECORDS READ FROM SYSTEM LIBRARY 3397 TOTAL RECORDS PUNCHED 62 TOTAL RECORDS PRINTED 943 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