CONVERT BINARY TO FIVE DIGIT FIELD
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
000002 4180 C0B6 000B8 6 LA 8,FIELD
000006 58B0 C0BE 000C0 7 L 11,THEBIN PUT ITEM TO BE CONVERTED INTO TEMP
00000A 50B0 C0C2 000C4 8 ST 11,TEMP
00000E 58B0 C136 00138 9 L 11,=F'10000'
000012 50B0 C0D2 000D4 10 ST 11,POWER10
00016 11 LOOP1 EQU *
000016 58B0 C0CE 000D0 12 L 11,COUNTER
00001A 59B0 C13A 0013C 13 C 11,=F'5'
00001E 4780 C0A4 000A6 14 BE LOOP2
15 * DIVIDE TEMP BY POWER10, TEMP1 = RESULT TEMP2 = REMAINDER
000022 58B0 C0C2 000C4 16 L 11,TEMP
000026 50B0 C0A6 000A8 17 ST 11,DIVIDEND
00002A 58B0 C0D2 000D4 18 L 11,POWER10
00002E 50B0 C0AA 000AC 19 ST 11,DIVISOR
000032 41B0 C0C6 000C8 20 LA 11,TEMP1
000036 50B0 C0AE 000B0 21 ST 11,RESADDR
00003A 41B0 C0CA 000CC 22 LA 11,TEMP2
00003E 50B0 C0B2 000B4 23 ST 11,REMADDR
000042 41A0 C0A6 000A8 24 LA 10,DCB
000046 4560 C0D6 000D8 25 BAL 6,DIVIDE
26 * CONVERT THE RESULT (NOW IN TEMP1) TO A CHARACTER
00004A 5800 C0C6 000C8 27 L 0,TEMP1
00004E 1B11 28 SR 1,1
000050 4310 C152 00154 29 IC 1,=CL1'0'
000054 1A01 30 AR 0,1
000056 4200 8000 00000 31 STC 0,0(0,8) STORE THAT CHARACTER AT NEXT PLACE IN FIELD
00005A 5A80 C13E 00140 32 A 8,=F'1'
00005E 58B0 C0CA 000CC 33 L 11,TEMP2 WE NOW MOVE REMAINDER TO TEMP
000062 50B0 C0C2 000C4 34 ST 11,TEMP
35 * THIS DIVIDES POWER OF TEN BY TEN
000066 58B0 C0D2 000D4 36 L 11,POWER10
00006A 50B0 C0A6 000A8 37 ST 11,DIVIDEND
00006E 58B0 C142 00144 38 L 11,=F'10'
000072 50B0 C0AA 000AC 39 ST 11,DIVISOR
000076 41B0 C0C6 000C8 40 LA 11,TEMP1
00007A 50B0 C0AE 000B0 41 ST 11,RESADDR
00007E 41B0 C0CA 000CC 42 LA 11,TEMP2
000082 50B0 C0B2 000B4 43 ST 11,REMADDR
000086 41A0 C0A6 000A8 44 LA 10,DCB
00008A 4560 C0D6 000D8 45 BAL 6,DIVIDE
00008E 58B0 C0C6 000C8 46 L 11,TEMP1
000092 50B0 C0D2 000D4 47 ST 11,POWER10
000096 58B0 C0CE 000D0 48 L 11,COUNTER INCREMENT NUMBER OF CHARS CONVERTED
00009A 5AB0 C13E 00140 49 A 11,=F'1'
00009E 50B0 C0CE 000D0 50 ST 11,COUNTER
0000A2 47F0 C014 00016 51 B LOOP1
000A6 52 LOOP2 EQU *
53 * END OF YOUR PROGRAM
0000A6 07FE 54 BR 14
0000A8 55 DS 0F
i 000A8 56 DCB EQU *
CONVERT BINARY TO FIVE DIGIT FIELD
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
0000A8 57 DIVIDEND DS F
0000AC 58 DIVISOR DS F
0000B0 59 RESADDR DS F
0000B4 60 REMADDR DS F
61 * END OF DIVIDE CONTROL BLOCK
0000B8 62 FIELD DS CL5
0000BD 000000
0000C0 00002726 63 THEBIN DC F'10022'
0000C4 64 TEMP DS F
0000C8 65 TEMP1 DS F
0000CC 66 TEMP2 DS F
0000D0 00000000 67 COUNTER DC F'0'
i0000D4 68 POWER10 DS F
CONVERT BINARY TO FIVE DIGIT FIELD
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
000D8 70 DIVIDE EQU *
71 * R0 - THING TO DIVIDE BY DIVISOR
72 * - START THING SHIFTED LEFT 16 BITS
73 * - SHIFT RIGHT
74 * R1 - THING BEING DIVIDED-- DIVIDEND
75 * R2 - COUNT OF BITS 0-16
76 * R3 - 1 IN APPROPRIATEPOSITION
77 * R4 - RESULT
0000D8 5800 A004 00004 78 L 0,4(0,10)
0000DC 8900 0010 00010 79 SLL 0,16
0000E0 5810 A000 00000 80 L 1,0(0,10)
0000E4 1B44 81 SR 4,4
0000E6 5830 C146 00148 82 L 3,=X'00010000'
0000EA 1B22 83 SR 2,2
000EC 84 DLOOP1 EQU *
0000EC 5920 C14A 0014C 85 C 2,=F'17'
0000F0 4780 C112 00114 86 BE DLOOP2
0000F4 1851 87 LR 5,1
0000F6 1B50 88 SR 5,0
0000F8 5950 C14E 00150 89 C 5,=F'0'
0000FC 4740 C102 00104 90 BC 4,DIF1
000100 1A43 91 AR 4,3
000102 1815 92 LR 1,5
00104 93 DIF1 EQU *
000104 8800 0001 00001 94 SRL 0,1
000108 8830 0001 00001 95 SRL 3,1
00010C 5A20 C13E 00140 96 A 2,=F'1'
000110 47F0 C0EA 000EC 97 B DLOOP1
00114 98 DLOOP2 EQU *
000114 5870 A008 00008 99 L 7,8(0,10)
000118 5040 7000 00000 100 ST 4,0(0,7) PUT RESULT IN APPROPRIATE PLACE
00011C 5870 A00C 0000C 101 L 7,12(0,10)
000120 5010 7000 00000 102 ST 1,0(0,7) INSERT REMAINDER
000124 07F6 103 BR 6
000126 0000
000128 00000019 104 D1 DC F'25'
00012C 00000005 105 D2 DC F'5'
000130 106 RES DS F
107 END
000138 00002710 108 =F'10000'
00013C 00000005 109 =F'5'
000140 00000001 110 =F'1'
000144 0000000A 111 =F'10'
000148 00010000 112 =X'00010000'
00014C 00000011 113 =F'17'
000150 00000000 114 =F'0'
000154 F0 115 =CL1'0'