User Tools

Site Tools


ibm:ibm1130-lib:dmsr2v12:w1hol48_lst

W1HOL48

Table Of Contents
  • [00004] HOLL-4OF8 AND 4OF8-HOLL CONVERSION
w1hol48.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:11 2020
 
Source File: \w1hol48.asm 
HOLL-4OF8 AND 4OF8-HOLL CONVERSION
 
                             2 | *************************************************** W1B00020
                             3 | * TITLE - HOL48                                   * W1B00030
                             4 | * STATUS - CHANGE LEVEL 0                         * W1B00040
                             5 | * FUNCTION/OPERATION - .HOL48. CONVERTS 4-OF-8    * W1B00050
                             6 | *  CHARACTERS TO IBM CARD CODE OR IBM CARD CODE   * W1B00060
                             7 | *  TO 4-OF-8 CHARACTERS, DEPENDING ON THE VALUE   * W1B00070
                             8 | *  OF THE CONTROL PARAMETER                       * W1B00080
                             9 | * ENTRY POINTS - .HOL48. CALL ENTRANCE LIBF HOL48 * W1B00090
                            10 | * INPUT - UNPACKED, LEFT-JUSTIFIED 4-OF-8 CODE    * W1B00100
                            11 | *  CHARACTERS OR IBM CARD CODE CHARACTERS         * W1B00110
                            12 | * OUTPUT - IBM CARD CODE CHARACTERS OR UNPACKED,  * W1B00120
                            13 | *  LEFT-JUSTIFIED 4-OF-8 CODE CHARACTERS.         * W1B00130
                            14 | * EXTERNAL ROUTINES - .HOLCA. TABLE OF IBM CARD   * W1B00140
                            15 | *  CODE CHARACTERS, .STRTB. TABLE OF 4-OF-8 CODE  * W1B00150
                            16 | *  AND EBCDIC CHARACTERS, .HXCV. ROUTINE TO       * W1B00160
                            17 | *  CONVERT 4-OF-8 CODE CHARACTER TO VALUE BETWEEN * W1B00170
                            18 | *  ZERO AND 63.                                   * W1B00180
                            19 | * EXITS-NORMAL - RETURN TO MAINLINE AT LIBF+5     * W1B00190
                            20 | *      -ERROR - INVALID IBM CARD CODE CHARACTER   * W1B00200
                            21 | *  ON INPUT, EXIT TO LIBF+5 AFTER CONVERSION IS   * W1B00210
                            22 | *  COMPLETE WITH CARRY OFF AND OVERFLOW ON.       * W1B00220
                            23 | * TABLES/WORK AREAS - NONE                        * W1B00230
                            24 | * ATTRIBUTES - REUSABLE                           * W1B00240
                            25 | * NOTES - THE CALLING SEQUENCE IS                 * W1B00250
                            26 | *               LIBF  HOL48                       * W1B00260
                            27 | *               DC    /000X   CONTROL PARAMETER   * W1B00270
                            28 | *               DC    INPUT   INPUT AREA ADDRS    * W1B00280
                            29 | *               DC    OTPUT   OUTPUT AREA ADDRS   * W1B00290
                            30 | *               DC    NNNN    CHARACTER COUNT     * W1B00300
                            31 | *************************************************** W1B00310
HOLL-4OF8 AND 4OF8-HOLL CONVERSION
 
                            33 |       LIBR                                          W1B00330
                            34 |       ENT     HOL48                                 W1B00340
0000 6963                   35 | HOL48 STX   1 SAV1+1    SAVE USER'S XR1             W1B00350
0001 6580 0000              36 |       LDX  I1 *-*       GET ADDR OF PARAM LIST      W1B00360
0003 691B                   37 |       STX   1 MDX1+1    DIRECTION OF CONVERSION     W1B00370
0004 D871                   38 |       STD     AQ        SAVE ALL AND EXTENSION      W1B00380
0005 285F                   39 |       STS     LDS       SAVE CARRY AND OVFLO STATUS W1B00390
0006 C101                   40 |       LD    1 1         STORE INPUT BUFFER ADDRESS  W1B00400
0007 D015                   41 |       STO     INPUT+1                               W1B00410
0008 C102                   42 |       LD    1 2         STORE OUTPUT BUFFER ADDRESS W1B00420
0009 D054                   43 |       STO     OUTPT+1                               W1B00430
000A C103                   44 |       LD    1 3         SAVE CHARS TO CONVERT COUNT W1B00440
000B D061                   45 |       STO     CT                                    W1B00450
000C 7104                   46 |       MDX   1 4         SET RETURN ADDR TO USER'S   W1B00460
000D 695C                   47 |       STX   1 XIT+1     PROGRAM.                    W1B00470
000E 6A58                   48 |       STX   2 SAV2+1    SAVE USERS XR2              W1B00480
000F 61FE                   49 |       LDX   1 -2        CONVERT BOTH CODE TABLE     W1B00490
0010 C500 006DR             50 | LOOP  LD   L1 LIBF+2    LIBFS INTO ACTUAL ADDRS     W1B00500
0012 1088                   51 |       SLT     8         FOR USE BY THIS             W1B00510
0013 1888                   52 |       SRT     8         SUBROUTINE.                 W1B00520
0014 8059                   53 |       A       K2                                    W1B00530
0015 D001                   54 |       STO     LD+1                                  W1B00540
0016 C700 0000              55 | LD    LD   L3 *-*       GET ADDR OF 1ST WD OF TBL   W1B00550
0018 D500 0073R             56 |       STO  L1 ADDRS+2                               W1B00560
001A 7101                   57 |       MDX   1 1                                     W1B00570
001B 70F4                   58 |       MDX     LOOP      GO GET OTHER TABLE ADDRESS  W1B00580
001C C500 0000              59 | INPUT LD   L1 *-*       GET INPUT CHARACTER         W1B00590
001E 7400 0000              60 | MDX1  MDX  L  *-*,0     CHK DIRECTION OF CONVERSION W1B00600
0020 7037                   61 |       MDX     CNVRT     4 OF 8 INTO HOLLERITH CODE  W1B00610
0021 6203                   62 |       LDX   2 3         CONVERT HOLL CODE TO RLTV   W1B00620
0022 188D                   63 |       SRT     13        0-63.  ISOLATE ROWS 12-0    W1B00630
0023 100D                   64 |       SLA     13        AND SAVE 1-9 IN EXTENSION.  W1B00640
0024 1240                   65 |       SLCA  2                                       W1B00650
0025 6A4F                   66 |       STX   2 SV1       SAVE MULTIPLE OF 16         W1B00660
0026 1001                   67 |       SLA     1                                     W1B00670
0027 4C20 0044R             68 |       BSC  L  ERR,Z     MULTIPLE ZONES-ERROR        W1B00680
0029 1087                   69 |       SLT     7         ROWS 1-7 INTO ACCUMULATOR   W1B00690
002A 6210                   70 |       LDX   2 16                                    W1B00700
002B 1240                   71 |       SLCA  2                                       W1B00710
002C 6AEA                   72 |       STX   2 LD+1      SAVE ROW 1-7 PUNCH          W1B00720
002D 1001                   73 |       SLA     1                                     W1B00730
002E 4C20 0044R             74 |       BSC  L  ERR,Z     CHK MULTIPLE ROWS IN 1-7    W1B00740
0030 1082                   75 |       SLT     2                                     W1B00750
0031 4C04 0052R             76 |       BSC  L  CK17,E    BR IF 9 ROW                 W1B00760
0033 4C20 0049R             77 |       BSC  L  CK1,Z     BR IF 8 ROW -60 CHK 1 ROW   W1B00770
0035 6203                   78 |       LDX   2 3         M/ 8-9 ROWS-INVERT 1-7 ROWS W1B00780
0036 C03D                   79 | ENTR1 LD      K8        AND GATHER TOGETHER THE     W1B00790
0037 90DF                   80 |       S       LD+1      RELATIVE ADDRESS            W1B00800
0038 1883                   81 |       SRT     3                                     W1B00810
0039 8035                   82 |       A       K3                                    W1B00820
003A 903A                   83 |       S       SV1                                   W1B00830
003B E034                   84 |       AND     MFFFB                                 W1B00840
003C 1001                   85 |       SLA     1                                     W1B00850
003D 1083                   86 |       SLT     3                                     W1B00860
003E 8033                   87 | ENTR  A       ADDRS+1   ADD START ADDR OF STRTB TBL W1B00870
003F D001                   88 |       STO     GET+1                                 W1B00880
0040 C600 0000              89 | GET   LD   L2 *-*       GET 4 OF 8 CHAR (BITS 0-7)  W1B00890
0042 E030                   90 |       AND     MASK2     ELIMINATE EBC PART          W1B00900
0043 7019                   91 |       MDX     OUTPT     GO STORE CONVERTED CHAR     W1B00910
0044 1010                   92 | ERR   SLA     16        SET TO STORE BLANK          W1B00920
0045 2001                   93 |       LDS     1         SET INVALID CHAR SWITCH     W1B00930
0046 281E                   94 |       STS     LDS                                   W1B00940
0047 6203                   95 |       LDX   2 3                                     W1B00950
0048 70F5                   96 |       MDX     ENTR                                  W1B00960
0049 72FA                   97 | CK1   MDX   2 -6        CHK INVALID COMBINATION OF  W1B00970
004A 70F9                   98 |       MDX     ERR       1 ROW & 8 ROW-INVALID-SKIP  W1B00980
004B 620B                   99 |       LDX   2 11        OK                          W1B00990
004C C0CA                  100 |       LD      LD+1                                  W1B01000
004D 4C20 0036R            101 |       BSC  L  ENTR1,Z                               W1B01010
004F C024                  102 |       LD      K8                                    W1B01020
0050 D0C6                  103 |       STO     LD+1                                  W1B01030
0051 70E4                  104 |       MDX     ENTR1                                 W1B01040
0052 1801                  105 | CK17  SRA     1         NINE ROW -CHK FOR INVALID   W1B01050
0053 80C3                  106 |       A       LD+1      1-8 ROW PRESENT.            W1B01060
0054 4C20 0044R            107 |       BSC  L  ERR,Z     BR IF ROWS 1-8 ...INVALID   W1B01070
0056 620C                  108 |       LDX   2 12                                    W1B01080
0057 70E0                  109 |       MDX     ENTR1+2                               W1B01090
0058 089C*3940             110 | CNVRT LIBF    HXCV                                  W1B01100
0059 8017                  111 |       A       ADDRS     BASE ADDR OF HOLL TABLE     W1B01110
005A D001                  112 |       STO     *+1                                   W1B01120
005B C400 0000             113 |       LD   L  *-*       GET HOLLERITH CHAR          W1B01130
005D D500 0000             114 | OUTPT STO  L1 *-*       STORE TO USER OUTPUT BUFFER W1B01140
005F 7101                  115 |       MDX   1 1         INCREMENT BUFFER POINTER    W1B01150
0060 74FF 006DR            116 |       MDX  L  CT,-1     DECR CHAR COUNT BY 1        W1B01160
0062 70B9                  117 |       MDX     INPUT     GO CONVERT NEXT CHARACTER   W1B01170
0063 6500 0000             118 | SAV1  LDX  L1 *-*       RESTORE USERS XR1           W1B01180
0065 2000                  119 | LDS   LDS     0                                     W1B01190
0066 6600 0000             120 | SAV2  LDX  L2 *-*       RESTORE USERS XR2           W1B01200
0068 C80D                  121 |       LDD     AQ                                    W1B01210
0069 4C00 0000             122 | XIT   BSC  L  *-*       RETURN TO USER              W1B01220
006B 0859*30C1             123 | LIBF  LIBF    HOLCA     CALL HOLCA (1 WORD CALL)    W1B01230
006C 228D*98C2             124 |       LIBF    STRTB     CALL STRTB (1 WORD CALL)    W1B01240
006D 0000                  125 | CT    DC                NO. OF CHARS TO CONVERT     W1B01250
006E 0002                  126 | K2    DC      2                                     W1B01260
006F 0003                  127 | K3    DC      /0003     ADDR MODIFICATION CONSTANT  W1B01270
0070 FFFB                  128 | MFFFB DC      /FFFB     ADDR MODIFICATION CONSTANT  W1B01280
0071 0000                  129 | ADDRS DC                ADDR OF HOLLERITH TABLE     W1B01290
0072 0000                  130 |       DC                ADDR OF 4-OF-8 TABLE        W1B01300
0073 FF00                  131 | MASK2 DC      /FF00     LEFT DIGIT EXTRACT MASK     W1B01310
0074 0008                  132 | K8    DC      8         VALIDITY CHECK CONSTANT     W1B01320
0075 0000                  133 | SV1   DC                MULTIPLE OF 16 TEMPORARY    W1B01330
0076                       134 | AQ    BSS  E  2         ACC AND EXT TEMPORARY       W1B01340
0078                       135 |       END                                           W1B01350
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
ADDRS 0071R  129   56   87  111
AQ    0076R  134   38  121
CK1   0049R   97   77
CK17  0052R  105   76
CNVRT 0058R  110   61
CT    006DR  125   45  116
ENTR  003ER   87   96
ENTR1 0036R   79  101  104  109
ERR   0044R   92   68   74   98  107
GET   0040R   89   88
HOL48 0000R   35
INPUT 001CR   59   41  117
K2    006ER  126   53
K3    006FR  127   82
K8    0074R  132   79  102
LD    0016R   55   54   72   80  100  103  106
LDS   0065R  119   39   94
LIBF  006BR  123   50
LOOP  0010R   50   58
MASK2 0073R  131   90
MDX1  001ER   60   37
MFFFB 0070R  128   84
OUTPT 005DR  114   43   91
SAV1  0063R  118   35
SAV2  0066R  120   48
SV1   0075R  133   66   83
XIT   0069R  122   47
ibm/ibm1130-lib/dmsr2v12/w1hol48_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator