* * ARRAY EXAMPLE * * INT ARR[12]; * FOR (I = 0 ; I < 12 ; I++) * ARR[I] = 2 * I; * FOR (I = 0 ; I < 12 ; I++) * COUT << ARR[I] << ENDL; * * ARRAYEX START STM 14,12,12(13) BALR 12,0 USING *,12 OPEN ARRFILE,OUTPUT * * FIRST LOOP: ARR[I] = 2I * SR 2,2 USE R2 FOR I (LOOP COUNTER) LA 3,ARR USE R3 FOR INDEX REG LA 5,12 R5 = 12 (LOOP LIMIT) STORE LR 4,2 R4 = I AR 4,2 R4 = I * 2 ST 4,0(3) ARR[I] = I * 2 LA 3,4(3) MOVE INDEX REG TO NEXT ARRAY ELEMENT LA 2,1(2) I = I + 1 CR 2,5 IF (I < 12) BL STORE LOOP AGAIN * * SECOND LOOP: COUT << ARR[I] << ENDL * SR 2,2 USE R2 FOR I AGAIN LA 3,ARR SET UP INDEX REG AGAIN PRINT L 4,0(3) R4 = ARR[I] CVD 4,ARRPACK CONVERT ARR[I] TO DEC UNPK ARROUT,ARRPACK CONVERT ARR[I] TO EBCDIC OI ARROUT+2,X'F0' FIX SIGN OF ARR[I] PUT ARRFILE,OUTREC PRINT ARR[I] LA 3,4(3) MOVE INDEX REG TO NEXT ARRAY ELEMENT LA 2,1(2) I = I + 1 CR 2,5 CHECK IF AT END OF ARRAY BL PRINT IF NOT, PRINT AGAIN * CLOSE ARRFILE LM 14,12,12(13) BR 14 * ARRFILE DCB LRECL=4,RECFM=F,MACRF=P,DDNAME=ARROUT * * OUTPUT RECORD * OUTREC DS 0CL4 DC CL3' ' ARROUT DS CL3 * ARR DS 12F ARRPACK DS D END
Email Me |
Office Hours |
My Home Page |
Department Home |
MCC Home Page
© Copyright Emmi Schatz 2003