CSCBUG TITLE ' CSCBUG PROC DEBUG#00000010 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CALL CSDBUG WITH STANDARD PARAMETER LIST.' 00000020 *TITLECSCBUG -- CALL CSDBUG WITH STANDARD PARAMETER LIST 00000030 *A AUTHOR FRANCIS COLLINS 00000040 *A DESIGNER SAME 00000050 *A LANGUAGE S/370 ASSEMBLER F 00000060 *A SYSTEM IBM (SEE CRAY) 00000060 *A WRITTEN 8--6-75 00000070 * REVISED MO-DA-YR BY PROGRAMMER FOR REASON. 00000080 * REVISED 00000090 *A 00000100 *A 00000110 *A CALL CSCBUG (MCINH) 00000120 *A INPUT MCINH = ADDRESS OF INPUT TRACE HEADER. A4 00000130 *A 00000140 *A IN THE CALLING PROGRAM, MCINH IS FOLLOWED BY THREE OTHER 00000150 *A VARIABLES, AND THIS GROUP OF FOUR VARIABLES COMPRISES THE 00000160 *A PARAMETER LIST TO BE PASSED TO THE CSDBUG PROGRAM. 00000170 *A MCINH = ADDRESS OF INPUT TRACE HEADER. A4 00000180 *A MCINTR = ADDRESS OF INPUT TRACE. A4 00000190 *A MCOH = ADDRESS OF OUTPUT TRACE HEADER. A4 00000200 *A MCOTR = ADDRESS OF OUTPUT TRACE. A4 00000210 *A 00000220 *A THE FUNCTION OF THIS PROGRAM IS TO TRANSFER CONTROL TO 00000230 *A CSDBUG, PASSING THE PARAMETER LIST. 00000240 *A 00000245 *A THREE OPERATIONS ARE REQUIRED. 00000250 *A 1. PLACE THE ADDRESS OF MCINH IN REGISTER 1. THIS SUPPLIES THE 00000260 *A PARAMETER LIST. 00000270 *A 2. PLACE THE ADDRESS OF CSDBUG IN REGISTER 15. 00000280 *A 3. BRANCH TO THE ADDRESS IN REGISTER 15. 00000290 *A 00000300 *A OTHER REGISTERS ARE UNCHANGED. 00000310 *A TO CSDBUG, THE EFFECT WILL THE THE SAME AS IF CSDBUG 00000320 *A HAD BEEN CALLED BY THE MAIN CONTROL PROGRAM. THIS 00000330 *A INTERVENING ASSEMBLER PROGRAM IS REQUIRED BECAUSE THE MAIN 00000340 *A CONTROL PROGRAM (CSEXEC), IN FORTRAN, CANNOT CONSTRUCT THE 00000350 *A PARAMETER LIST FOR CSDBUG. 00000360 EJECT 00000370 * THE FOLLOWING NUMERICAL EXAMPLE SHOWS HOW THE ADDRESSES ARE 00000380 * MANIPULATED BOTH IN CSEXEC AND IN THIS PROGRAM. 00000390 * 00000400 * OPERATION VARIABLE ADDRESS CONTENTS 00000410 * 00000420 * GIVEN MCI1 10216 3 00000430 * MCI2 10220 5 00000440 * MCTADD(3) 10428 30000 00000450 * MCTADD(5) 10436 50000 00000460 * PTTHLB 384 00000470 * IN CSEXEC 00000480 * MCIHN = MCTADD(MCI1) MCINH 10224 30000 00000490 * MCINTR = MCINH + PTTHLB MCINTR 10228 30384 00000500 * MCOH = MCTADD(MCI2) MCOH 10232 50000 00000510 * MCOTR = MCOH + PTTHLB MCOTR 10236 50384 00000520 * CALL CSCBUG (MCINH) PARM1 15000 10224 00000530 * REG 1 15000 00000540 * PARM1 IS THE PARAMETER LIST 00000550 * LOCATION ASSIGNED IN CSEXEC BY 00000560 * THE FORTRAN COMPILER. 00000570 * IN CSCBUG 00000580 * L R1,0(,R1) 0(,R1) 15000 10224 00000590 * REG 1 10224 00000600 * 00000610 * OI 12(R1),X'80' 12(R1) 10236 1...50384 00000620 * MARK END OF PARAMETER LIST. 00000630 * 00000640 * L R15,=V(CSDBUG) GET ENTRY POINT FOR CSDBUG. 00000650 * 00000660 * BR R15 REG 15 A(CSDBUG) 00000670 * 00000680 * 00000690 CSCBUG CSECT 00000700 R1 EQU 1 00000710 R15 EQU 15 00000720 USING *,R15 00000730 L R1,0(,R1) 00000740 OI 12(R1),X'80' 00000750 L R15,=V(CSDBUG) 00000760 BR R15 00000770 END 00000780