RES=M1*M2 USING SHIFTS
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
000000 2 MULTIPLY START
000000 0590 3 BALR 9,0
00002 4 USING *,9
5 * ON ENTRY, THE R10 WILL POINT TO A PARAMETER CONTROL BLOCK
6 * CONTAINING (M1 THING TO MULTIPLY, M2 MULTIPLIER, RES RESULT)
7 *
8 * R0 - THING TO MULTIPLY SHIFTED LEFT BY ONE
9 * R1 - MULTIPLIER, SHIFTED RIGHT EACH TIME
10 * R2 - COUNT OF BITS 0-31
11 * R3 - TEMPORARY
12 * R4- RESULT
13 *
14 * YOUR PROGRAM GOES HERE
15 *
000002 5800 A000 00000 16 L 0,0(0,10)
000006 5810 A004 00004 17 L 1,4(0,10)
00000A 1B22 18 SR 2,2
00000C 1B44 19 SR 4,4
0000E 20 LOOP1 EQU *
00000E 5920 903E 00040 21 C 2,=F'31'
000012 4780 9034 00036 22 BE LOOP2
000016 1831 23 LR 3,1
000018 5430 9042 00044 24 N 3,=F'1'
00001C 5930 9046 00048 25 C 3,=F'0'
000020 4780 9024 00026 26 BC 8,IF1
000024 1A40 27 AR 4,0
00026 28 IF1 EQU *
000026 8810 0001 00001 29 SRL 1,1
00002A 8900 0001 00001 30 SLL 0,1
00002E 5A20 9042 00044 31 A 2,=F'1'
000032 47F0 900C 0000E 32 B LOOP1
00036 33 LOOP2 EQU *
000036 5850 A008 00008 34 L 5,8(0,10)
00003A 5040 5000 00000 35 ST 4,0(0,5)
00003E 07F7 36 BR 7
37 END
000040 0000001F 38 =F'31'
000044 00000001 39 =F'1'
000048 00000000 40 =F'0'