ARRAY EXAMPLE 3
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
000000 2 P1 START
000000 05C0 3 BALR 12,0
00002 4 USING *,12
5 * OBJECTIVE LEARN HOW TO USE ONE-DIMENSIONAL WITH NON-CONSTANT
6 * SUBSCRIPTS
7 * A: ARRAY[0..10] OF INTEGER
8 *
9 * A[I] := 1
000002 4110 C0AA 000AC 10 LA 1,A R1 = ADDRESS OF A, USE LA TO LOAD ADDRESS
000006 5830 C0D6 000D8 11 L 3,I
00000A 1A33 12 AR 3,3
00000C 1A33 13 AR 3,3 R3 NOW = 4*I, (4 BYTES PER WORD)
00000E 1A13 14 AR 1,3 R1 NOW = ADDRESS OF A(I)
000010 5820 C09A 0009C 15 L 2,F1
000014 5020 1000 00000 16 ST 2,0(0,1)
17 * A [ I + 1 ] := 2
000018 4110 C0AA 000AC 18 LA 1,A R1 = ADDRESS OF A, USE LA TO LOAD ADDRESS
00001C 5830 C0D6 000D8 19 L 3,I
000020 5A30 C09A 0009C 20 A 3,F1
000024 1A33 21 AR 3,3
000026 1A33 22 AR 3,3 R3 NOW = 4*(I+1)
000028 1A13 23 AR 1,3 R1 NOW = ADDRESS OF A(I)
00002A 5820 C09E 000A0 24 L 2,F2
00002E 5020 1000 00000 25 ST 2,0(0,1)
26 * A [ I + 3 ] := A [ I ] + A [ I + 1 ]
000032 4110 C0AA 000AC 27 LA 1,A R1 = ADDRESS OF A, USE LA TO LOAD ADDRESS
000036 5830 C0D6 000D8 28 L 3,I
00003A 1A33 29 AR 3,3
00003C 1A33 30 AR 3,3 R3 NOW = 4*I
00003E 1A13 31 AR 1,3 R1 NOW = ADDRESS OF A(I)
000040 5840 1000 00000 32 L 4,0(0,1) R4 WILL ACCUMULATE THE SUM
000044 4110 C0AA 000AC 33 LA 1,A R1 = ADDRESS OF A, USE LA TO LOAD ADDRESS
000048 5830 C0D6 000D8 34 L 3,I
00004C 5A30 C09A 0009C 35 A 3,F1
000050 1A33 36 AR 3,3
000052 1A33 37 AR 3,3 R3 NOW = 4*(I+1)
000054 1A13 38 AR 1,3 R1 NOW = ADDRESS OF A(I+1)
000056 5A40 1000 00000 39 A 4,0(0,1) R4 WILL ACCUMULATE THE SUM
00005A 4110 C0AA 000AC 40 LA 1,A R1 = ADDRESS OF A, USE LA TO LOAD ADDRESS
00005E 5830 C0D6 000D8 41 L 3,I
000062 5A30 C0A2 000A4 42 A 3,F3
000066 1A33 43 AR 3,3
000068 1A33 44 AR 3,3 R3 NOW = 4*(I+3)
00006A 1A13 45 AR 1,3 R1 NOW = ADDRESS OF A(I+3)
00006C 5040 1000 00000 46 ST 4,0(0,1) PUT THE SUM IN A(I+3)
ARRAY EXAMPLE 3
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
48 * I := A[A[I+3]]
000070 4110 C0AA 000AC 49 LA 1,A R1 = ADDRESS OF A, USE LA TO LOAD ADDRESS
000074 5830 C0D6 000D8 50 L 3,I
000078 5A30 C0A2 000A4 51 A 3,F3
00007C 1A33 52 AR 3,3
00007E 1A33 53 AR 3,3 R3 NOW = 4*(I+3)
000080 1A13 54 AR 1,3 R1 NOW = ADDRESS OF A(I+3)
000082 5830 1000 00000 55 L 3,0(0,1) R3 CONTAINS A(I+3)
000086 4110 C0AA 000AC 56 LA 1,A
00008A 1A33 57 AR 3,3
00008C 1A33 58 AR 3,3 R3 NOW = 4*A(I+3)
00008E 1A13 59 AR 1,3 R1 NOW = ADDRESS OF A(A(I+3))
000090 5840 1000 00000 60 L 4,0(0,1)
000094 5040 C0D6 000D8 61 ST 4,I
000098 07FE 62 BR 14
63 *
00009A 0000
00009C 00000001 64 F1 DC F'1'
0000A0 00000002 65 F2 DC F'2'
0000A4 00000003 66 F3 DC F'3'
0000A8 00000004 67 F4 DC F'4'
68 *
0000AC 0000000000000000 69 A DC 11F'0' LAST SUBSCRIPT IS TEN
0000D8 00000003 70 I DC F'3'
71 END