*TITLEINITAR -- INITIALIZE AN ARRAY TO USER SELECTED VALUE 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** *A AUTHOR H. LAVALLET 00020000 *A DESIGNER H. LAVALLET 00030000 *A LANGUAGE ASSEMBLER 00040000 *A SYSTEM S/370 00040100 *A WRITTEN 08-13-81 00050000 * REVISED 00060000 *A 00070000 *A 00080000 *A CALL INITAR (IVAL, IAR, KNT) 00090000 *A 00090100 *A IN/OUT ARGUMENT TYPE DESCRIPTION 00090200 *A 00090300 *A IN IVAL I2 HALF WORD VALUE TO STORE IN EACH 00100000 *A ELEMENT OF IAR 00110000 *A OUT IAR I2 OUTPUT ARRAY OF HALF WORD VALUES 00120000 *A IN KNT I2 NUMBER OF HALF WORD ELEMENTS IN IAR 00130000 *A 00140000 *A 00150000 *A THIS ROUTINE MOVES THE "KNT" VALUES (= IVAL) INTO THE HALF WORD 00160000 *A ARRAY STARTING AT IAR. 00170000 *A 00180000 * 00190000 * 00200000 INITAR CSECT 00210000 * 00220000 R1 EQU 1 00230000 R2 EQU 2 00240000 R3 EQU 3 00250000 R4 EQU 4 00260000 R5 EQU 5 00270000 R8 EQU 8 00280000 R10 EQU 10 00290000 R12 EQU 12 00300000 R13 EQU 13 00310000 R14 EQU 14 00320000 R15 EQU 15 00330000 * 00340000 BASE EQU R10 00350000 * 00360000 STM R14,R12,12(R13) 00370000 BALR BASE,0 00380000 USING *,BASE 00390000 * 00400000 SR R15,R15 00410000 LM R2,R4,0(R1) GET ADDRESS OF PARMS 00420000 L R15,0(R4) TEST FOR NEGATIVE # ELEMENTS 00430000 LTR R15,R15 00440000 BNP INITARR # ELEMENTS NEGATIVE, RETURN 00450000 INITZ SLA R15,1 GET # BYTES 00460000 S R15,=F'1' SET LOOP COUNTER 00470000 * 00480000 SR R1,R1 00490000 LH R1,2(R2) NOW LOAD AND TEST CONSTANT FOR 0 00500000 LTR R1,R1 00510000 BZ INITARZ YES SO GO USE MVCL 00520000 * 00530000 LA R8,0 USED TO LOOP THRU OUTPUT ARRAY 00540000 LA R14,2 00550000 INITARS STH R1,0(R3,R8) SET HALF WORD CONSTANT 00560000 BXLE R8,R14,INITARS AND KEEP LOOPING TILL DONE 00570000 B INITARR ALL DONE 00580000 * 00590000 INITARZ EQU * MOVE ZEROS TO ARRAY 00600000 LR R2,R3 SAVE ARRAY ADDRESS 00610000 LA R3,1(R15) GET EXACT # BYTES 00620000 SR R5,R5 00630000 SR R4,R4 00640000 MVCL R2,R4 00650000 INITARR EQU * 00660000 LM R14,R12,12(R13) RESTORE REGISTERS 00670000 BR R14 RETURN 00680000 LTORG 00690000 END 00700000