User Tools

Site Tools


ibm:ibm1130-lib:dmsr2v12:u4dcbin_lst

U4DCBIN

Table Of Contents
  • [00004] DECIMAL TO BINARY CONVERSION
u4dcbin.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:10 2020
 
Source File: \u4dcbin.asm 
DECIMAL TO BINARY CONVERSION
 
                             2 | *************************************************** U4G00020
                             3 | *                                                 * U4G00030
                             4 | *   SUBROUTINE NAME-                              * U4G00040
                             5 | *      FULL NAME- DECIMAL TO BINARY CONVERSION    * U4G00050
                             6 | *         SUBROUTINE.                             * U4G00060
                             7 | *      CODE NAME- DCBIN                           * U4G00070
                             8 | *   PURPOSE- THIS SUBROUTINE CONVERTS A SIGNED    * U4G00080
                             9 | *      FIVE DIGIT DECIMAL NUMBER,REPRESENTED BY   * U4G00090
                            10 | *      SIX EBCDIC CHARACTERS, TO ITS ONE WORD     * U4G00100
                            11 | *      BINARY EQUIVALENT.                         * U4G00110
                            12 | *   METHOD-                                       * U4G00120
                            13 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U4G00130
                            14 | *   CAPABILITIES AND LIMITATIONS-                 * U4G00140
                            15 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U4G00150
                            16 | *   SPECIAL FEATURES- N/A                         * U4G00160
                            17 | *   ADDITIONAL INFORMATION-                       * U4G00170
                            18 | *      ESTIMATED EXECUTION TIME-                  * U4G00180
                            19 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U4G00190
                            20 | *                                                 * U4G00200
                            21 | *************************************************** U4G00210
DECIMAL TO BINARY CONVERSION
 
                            23 |       LIBR                                          U4G00230
                            24 |       ENT     DCBIN                                 U4G00240
0000 6936                   25 | DCBIN STX   1 F24+1     CALL ENTRY POINT            U4G00250
0001 6580 0000              26 | LINK  LDX  I1 0         LOADER STORED TV ADDRESS    U4G00260
0003 6A35                   27 |       STX   2 F26+1     SAVE XR2                    U4G00270
0004 282F                   28 |       STS     F20       SAVE STATUS                 U4G00280
0005 D850                   29 |       STD     TEMP      SAVE ACC AND EXTENSION      U4G00290
0006 C100                   30 |       LD    1 0         XR1= ADDR OF INPUT PARAM    U4G00300
0007 D003                   31 |       STO     F15+1                                 U4G00310
0008 7101                   32 |       MDX   1 +1        XR1= RETURN ADDR            U4G00320
0009 6931                   33 |       STX   1 F28+1                                 U4G00330
000A 6500 0001              34 | F15   LDX  L1 1         XR1= INPUT AREA ADDR        U4G00340
000C C040                   35 |       LD      D0005                                 U4G00350
000D D03E                   36 |       STO     COUNT     SET COUNT FOR 5 DIGITS      U4G00360
000E 1810                   37 |       SRA     16                                    U4G00370
000F D046                   38 |       STO     TEMP      CLEAR OUTPUT REGISTER       U4G00380
0010 C101                   39 | F17   LD    1 1         OBTAIN HOLLERITH DIGIT      U4G00390
0011 4C18 001FR             40 |       BSC  L  F17A,+-   DON'T CONVERT IF BLANK      U4G00400
0013 E03F                   41 |       AND     HC00F     CHK BITS 0,1,12-15          U4G00410
0014 4C20 0032R             42 |       BSC  L  F19,Z     IF ILLEGAL CHAR, EXIT WITH  U4G00420
                            43 | *                       OVFLO INDR SET.             U4G00430
0016 C101                   44 |       LD    1 1         WHICH ROW BIT IS SET        U4G00440
0017 620C                   45 |       LDX   2 12                                    U4G00450
0018 1240                   46 |       SLCA  2 0         XR2= 10 IF 0 ROW,1 IF 9,ETC U4G00460
0019 9038                   47 |       S       H8000                                 U4G00470
001A 4C20 0032R             48 |       BSC  L  F19,Z     EXIT IF NONE OR MANY        U4G00480
                            49 | *                       ROW BITS SET                U4G00490
001C 6A37                   50 |       STX   2 ROW       COMPUTE 10-(XR2) TO GET     U4G00500
001D C030                   51 |       LD      D0010     BINARY EQUIVALENT OF        U4G00510
001E 9035                   52 |       S       ROW       HOLLERITH DIGIT             U4G00520
                            53 | *                                                   U4G00530
                            54 | *COMPUTE BINARY EQUIVALENT FROM DIGITS.             U4G00540
                            55 | *                                                   U4G00550
001F 8036                   56 | F17A  A       TEMP      ADD PREVIOUS RESULT         U4G00560
0020 74FF 004CR             57 |       MDX  L  COUNT,-1  ARE 5 DIGITS DONE YET       U4G00570
0022 701C                   58 |       MDX     F42       NO,GO MPY BY 10             U4G00580
0023 D032                   59 |       STO     TEMP      YES,STORE FINAL VALUE       U4G00590
0024 4C01 0046R             60 |       BSC  L  F44,O     MAY BE ERROR IF OVERFLOW    U4G00600
0026 C1FC                   61 |       LD    1 -4        GET SIGN WORD               U4G00610
0027 4C18 0034R             62 |       BSC  L  F20,+-    SIGN = BLANK                U4G00620
0029 9027                   63 |       S       H4000                                 U4G00630
002A 4C18 003CR             64 |       BSC  L  F40,+-    SIGN = MINUS                U4G00640
002C 9024                   65 |       S       H4000                                 U4G00650
002D 4C18 0034R             66 |       BSC  L  F20,+-    SIGN = AMPERSAND            U4G00660
002F 9020                   67 |       S       H00A0                                 U4G00670
0030 4C18 0034R             68 | F18   BSC  L  F20,+-    SIGN = PLUS                 U4G00680
0032 2001                   69 | F19   LDS     1         ERROR - SET OVFLO ON        U4G00690
0033 7001                   70 |       MDX     F22       AND CARRY OFF               U4G00700
0034 2000                   71 | F20   LDS     0         RESTORE STATUS              U4G00710
0035 C820                   72 | F22   LDD     TEMP      RESTORE ACC AND EXTENSION   U4G00720
0036 6500 0000              73 | F24   LDX  L1 0         RESTORE XR1                 U4G00730
0038 6600 0000              74 | F26   LDX  L2 0         RESTORE XR2                 U4G00740
003A 4C00 0000              75 | F28   BSC  L  0         EXIT                        U4G00750
                            76 | *                                                   U4G00760
                            77 | *SECTION TO COMPLEMENT IF MINUS, MPY BY 10, CHECK   U4G00770
                            78 | *FOR -32768                                         U4G00780
                            79 | *                                                   U4G00790
003C 9019                   80 | F40   S       TEMP      MINUS SIGN, SO COMPLEMENT   U4G00800
003D D018                   81 |       STO     TEMP      FINAL VALUE                 U4G00810
003E 70F5                   82 |       MDX     F20                                   U4G00820
003F A00F                   83 | F42   M       H0014     MPY BY 10 SCALED -1         U4G00830
0040 4C20 0032R             84 |       BSC  L  F19,Z     ERROR IF OVER +32760        U4G00840
0042 108F                   85 |       SLT     15        PUT PRODUCT IN A REG        U4G00850
0043 D012                   86 |       STO     TEMP      SAVE INTERMEDIATE RESULT    U4G00860
0044 7101                   87 |       MDX   1 +1        SET XR1 TO GET NEXT DIGIT   U4G00870
0045 70CA                   88 |       MDX     F17       RET TO REPEAT LOOP          U4G00880
0046 F00B                   89 | F44   EOR     H8000     IS VALUE -32768             U4G00890
0047 4C20 0032R             90 |       BSC  L  F19,Z     NO, IS ERROR                U4G00900
0049 C1FC                   91 |       LD    1 -4                                    U4G00910
004A F006                   92 |       EOR     H4000     YES, DON'T COMPLIMENT       U4G00920
004B 70E4                   93 |       MDX     F18                                   U4G00930
                            94 | *                                                   U4G00940
                            95 | *CONSTANTS AND BUFFER AREA                          U4G00950
                            96 | *                                                   U4G00960
004C 0000                   97 | COUNT DC      0         COUNTER FOR 5 DIGITS        U4G00970
004D 0005                   98 | D0005 DC      +5        DECIMAL 5                   U4G00980
004E 000A                   99 | D0010 DC      +10       DECIMAL 10                  U4G00990
004F 0014                  100 | H0014 DC      /0014     10 SCALED -1                U4G01000
0050 00A0                  101 | H00A0 DC      /00A0     AMPERSAND CHECK             U4G01010
0051 4000                  102 | H4000 DC      /4000     BLANK OR MINUS CHECK        U4G01020
0052 8000                  103 | H8000 DC      /8000     MAX NEG NUMBER              U4G01030
0053 C00F                  104 | HC00F DC      /C00F     CHECK ILLEGAL CODE BITS     U4G01040
0054 0000                  105 | ROW   DC      0         TEMPORARY STORAGE FOR DIGIT U4G01050
0056                       106 | TEMP  BSS  E  2         SAVE ACC AND EXT            U4G01060
0058                       107 |       END                                           U4G01070
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
COUNT 004CR   97   36   57
D0005 004DR   98   35
D0010 004ER   99   51
DCBIN 0000R   25
F15   000AR   34   31
F17   0010R   39   88
F17A  001FR   56   40
F18   0030R   68   93
F19   0032R   69   42   48   84   90
F20   0034R   71   28   62   66   68   82
F22   0035R   72   70
F24   0036R   73   25
F26   0038R   74   27
F28   003AR   75   33
F40   003CR   80   64
F42   003FR   83   58
F44   0046R   89   60
H0014 004FR  100   83
H00A0 0050R  101   67
H4000 0051R  102   63   65   92
H8000 0052R  103   47   89
HC00F 0053R  104   41
LINK  0001R   26
ROW   0054R  105   50   52
TEMP  0056R  106   29   38   56   59   72   80   81   86
ibm/ibm1130-lib/dmsr2v12/u4dcbin_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator