RES=D1/D2 USING SHIFTS
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
000000 2 P1 START
000000 05C0 3 BALR 12,0
00002 4 USING *,12
5 * YOUR PROGRAM GOES HERE
6 * R0 - THING TO DIVIDE BY
7 * - START THING SHIFTED LEFT 16 BITS
8 * - SHIFT RIGHT
9 * R1 - THING BEING DIVIDED
10 * R2 - COUNT OF BITS 0-16
11 * R3 - 1 IN APPROPRIATE POSITION
12 * R4 - RESULT
000002 5800 C046 00048 13 L 0,D2
000006 8900 0010 00010 14 SLL 0,16
00000A 5810 C042 00044 15 L 1,D1
00000E 1B44 16 SR 4,4
000010 5830 C04E 00050 17 L 3,=X'00010000'
000014 1B22 18 SR 2,2
00016 19 LOOP1 EQU *
000016 5920 C052 00054 20 C 2,=F'17'
00001A 4780 C03C 0003E 21 BE LOOP2
00001E 1851 22 LR 5,1
000020 1B50 23 SR 5,0
000022 5950 C056 00058 24 C 5,=F'0'
000026 4740 C02C 0002E 25 BC 4,IF1
00002A 1A43 26 AR 4,3
00002C 1815 27 LR 1,5
0002E 28 IF1 EQU *
00002E 8800 0001 00001 29 SRL 0,1
000032 8830 0001 00001 30 SRL 3,1
000036 5A20 C05A 0005C 31 A 2,=F'1'
00003A 47F0 C014 00016 32 B LOOP1
0003E 33 LOOP2 EQU *
00003E 5040 C04A 0004C 34 ST 4,RES
000042 07FE 35 BR 14
000044 00000019 36 D1 DC F'25'
000048 00000005 37 D2 DC F'5'
00004C 38 RES DS F
39 END
000050 00010000 40 =X'00010000'
000054 00000011 41 =F'17'
000058 00000000 42 =F'0'
00005C 00000001 43 =F'1'