User Tools

Site Tools


ibm:ibm1130-lib:dmsr2v12:dciloadr_lst

DCILOADR

Table Of Contents
  • [00004] CORE IMAGE LOADER FOR 2501 OR 1442
  • [00228] INITIALIZE AND MOVE CIL
dciloadr.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:05 2020
 
Source File: \dciloadr.asm 
CORE IMAGE LOADER FOR 2501 OR 1442
 
                             2 | *************************************************** DCL00020
                             3 | *                                                 * DCL00030
                             4 | *FUNCTION-                                        * DCL00040
                             5 | *   *THIS CARD CORE IMAGE LOADER READS CARDS FROM * DCL00050
                             6 | *    ETHER THE 2501 OR 1442 AND LOADES THEM INTO  * DCL00060
                             7 | *    CORE. THE DECK TO BE LOADED MUST BE CORE     * DCL00070
                             8 | *    IMAGE CONVERTED ON THE PRESENT CORE IMAGE    * DCL00080
                             9 | *    CONVERTER.                                   * DCL00090
                            10 | *                                                 * DCL00100
                            11 | *ENTRY POINTS-                                    * DCL00110
                            12 | *   *CL320-THE BOOTSTRAP LOADER WILL BRANCH THERE * DCL00120
                            13 | *    AFTER IT HAS LOADED THE CORE IMAGE LOADER    * DCL00130
                            14 | *    INTO CORE.                                   * DCL00140
                            15 | *                                                 * DCL00150
                            16 | *INPUT-                                           * DCL00160
                            17 | *   *THE CORE IMAGE DECK TO BE LOADED IS PLACED   * DCL00170
                            18 | *    BEHIND THE CORE IMAGE LOADER AND IS LOADED   * DCL00180
                            19 | *    FROM THE SAME DEVICE THAT INITIAL PROGRAM    * DCL00190
                            20 | *    LOAD (IPL) IS DONE FROM.                     * DCL00200
                            21 | *                                                 * DCL00210
                            22 | *OUTPUT-                                          * DCL00220
                            23 | *   *N/A                                          * DCL00230
                            24 | *                                                 * DCL00240
                            25 | *EXTERNAL REFERANCES-                             * DCL00250
                            26 | *   *CORE LOCATION /29 IN THE BOOTSTRAP (LINK WORD* DCL00260
                            27 | *    FOR COLUMN INTERUPT) IS LOOKED AT TO SEE IF  * DCL00270
                            28 | *    THE READING IS FROM THE 1442 OR 2501. THIS   * DCL00280
                            29 | *    WORD DIRECTS THE INITIALIZATION OF THE CARD  * DCL00290
                            30 | *    ROUTINE IN THE CORE IMAGE LOADER.            * DCL00300
                            31 | *                                                 * DCL00310
                            32 | *EXITS-                                           * DCL00320
                            33 | *   *NORMAL-                                      * DCL00330
                            34 | *       *THE NORMAL EXIT IS TO THE WORD SPECIFIED * DCL00340
                            35 | *        IN THE 54TH WORD IN THE END CARD.        * DCL00350
                            36 | *                                                 * DCL00360
                            37 | *   *ERROR-                                       * DCL00370
                            38 | *       *N/A                                      * DCL00380
                            39 | *                                                 * DCL00390
                            40 | *TABLES/WORK AREAS-                               * DCL00400
                            41 | *   *CL050-THIS WORD INDICATES WHEN A CARD        * DCL00410
                            42 | *    READER IS BEING USED.                        * DCL00420
                            43 | *       0 = NOT IN USE                            * DCL00430
                            44 | *       NOT 0 = IN USE                            * DCL00440
                            45 | *                                                 * DCL00450
                            46 | *   *CL060-THIS WORD CONTAINS THE COUNT USED IN   * DCL00460
                            47 | *    THE NEXT NON-ZERO CHECK SUM.                 * DCL00470
                            48 | *                                                 * DCL00480
                            49 | *   *CL110-THIS WORD IS USED TO HOLD THE A        * DCL00490
                            50 | *    REGISTER WHEN INTERUPTS ARE BEING HANDLED.   * DCL00500
                            51 | *                                                 * DCL00510
                            52 | *   *CL270-THIS IS AN 81 WORD BUFFER USED TO READ * DCL00520
                            53 | *    THE CARDS INTO WHILE LOADING THE PROGRAM.    * DCL00530
                            54 | *                                                 * DCL00540
                            55 | *NOTES-                                           * DCL00550
                            56 | *   *ON ANY KIND OF AN ERROR (CARD READER OR CHECK* DCL00560
                            57 | *    SUM) THE MACHINE WILL COME TO A WAIT WITH THE* DCL00570
                            58 | *    CARD NUMBER (BINARY) TO BE LOADED DISPLAYED  * DCL00580
                            59 | *    IN THE A REGISTER. IF ANY NON-CHECK SUMED    * DCL00590
                            60 | *    CARDS PRECEDE THE CARD NUMBER INDICATED THEY * DCL00600
                            61 | *    SHOULD BE LOADED ALSO.                       * DCL00610
                            62 | *                                                 * DCL00620
                            63 | *   *THE CORE IMAGE LOADER IS LOADED ABOVE /74    * DCL00630
                            64 | *    AND IS MOVED TO THE ASSEMBLED LOCATIONS      * DCL00640
                            65 | *    BEFORE EXECUTION.                            * DCL00650
                            66 | *                                                 * DCL00660
                            67 | *   *THE LOADER (LABEL CL275) CAN NOT BE LONGER   * DCL00670
                            68 | *    THAN /D6 SO AS TO CONFORM TO THE OLD         * DCL00680
                            69 | *    SPECIFICATIONS OF LENGTH.                    * DCL00690
                            70 | *                                                 * DCL00700
                            71 | *************************************************** DCL00710
                            72 | *                                                   DCL00720
                            73 | *   IOCCS                                           DCL00730
                            74 | *                                                   DCL00740
                            75 |       ABS                                           DCL00750
0004                        76 |       ORG     4                                     DCL00760
0004                        77 | CL010 EQU     *                                     DCL00770
0004 0085                   78 |       DC      CL270     BUFFER ADDRESS OF IOCC      DCL00780
0005 4E00                   79 | CL020 DC      /4E00     START FUNCTION OF IOCC      DCL00790
0006 0000                   80 |       DC      *-*       BUFFER ADDRESS OF IOCC      DCL00800
0007 1204                   81 | CL030 DC      /1204     READ 1442 FUNCTION OF IOCC  DCL00810
0008 000D                   82 |       DC      CL070     COLUMN INTERUPT ADDRESS     DCL00820
0009 4F01                   83 | CL040 DC      /4F01     TEST FUNCTION OF IOCC       DCL00830
000A 0000                   84 | CL050 DC      *-*       CARD BUSY INDICATOP         DCL00840
000B 0001                   85 | CL060 DC      1         CARD COUNT                  DCL00850
000C 0018                   86 |       DC      CL090     OP COMPLETE INTERUPT ADR    DCL00860
                            87 | *                                                   DCL00870
                            88 | *   HANDLE THE COLUMN INTERUPT                      DCL00880
                            89 | *                                                   DCL00890
000D 0000                   90 | CL070 DC      *-*       LINK WORD                   DCL00900
000E D0F1                   91 |       STO     CL110     SAVE A REGISTER             DCL00910
000F 7401 0006              92 |       MDX  L  CL030-1,1 INCREMENT READ              DCL00920
0011 08F4                   93 |       XIO     CL030-1   READ COLUMN                 DCL00930
0012 08F5                   94 |       XIO     CL040-1   SENSE 1442 DSW              DCL00940
0013 C0EC                   95 |       LD      CL110     RESTORE A REGISTER          DCL00950
0014 4CC0 000D              96 |       BOSC I  CL070     RETURN                      DCL00960
                            97 | *                                                   DCL00970
                            98 | *   HANDLE THE OPERATION COMPLETE INTERUPT          DCL00980
                            99 | *                                                   DCL00990
0016 C0E9                  100 | CL080 LD      CL110     RESTORE A REGISTER          DCL01000
0017 4C40 0000             101 |       BOSC L  *-*       RETURN                      DCL01010
0018                       102 |       ORG     *-1                                   DCL01020
0018 0000                  103 | CL090 DC      *-*       LINK WORD                   DCL01030
0019 D0E6                  104 |       STO     CL110     SAVE A REGISTER             DCL01040
001A 08ED                  105 |       XIO     CL040-1   SENSE DSW                   DCL01050
001B E007                  106 |       AND     CL120     CHECK FOR ERROR             DCL01060
001C D0ED                  107 |       STO     CL050     CLEAR IBUSY                 DCL01070
001D 4C18 0016             108 |       BSC  L  CL080,+-  BRANCH ON NO ERROR          DCL01080
001F C0EB                  109 | CL100 LD      CL060     PUT CARD COUNT IN A REGISTR DCL01090
0020 3000                  110 |       WAIT              WAIT TILL ERROR IS FIXED    DCL01100
0021 4C40 0025             111 |       BOSC L  CL140     BRANCH TO READ NEXT CARD    DCL01110
                           112 | *                                                   DCL01120
                           113 | *   CONSTANTS AND WORKING STORAGE                   DCL01130
                           114 | *                                                   DCL01140
0000                       115 | CL110 EQU     0         SAVE AREA 1                 DCL01150
0023 2000                  116 | CL120 DC      /2000     CONSTANT                    DCL01160
0024 0001                  117 | CL130 DC      1         CONSTANT                    DCL01170
                           118 | *                                                   DCL01180
                           119 | *   CLEAR CARD READ AREA                            DCL01190
                           120 | *                                                   DCL01200
0025 6148                  121 | CL140 LDX   1 72        LOAD WORD COUNT             DCL01210
0026 C0FD                  122 |       LD      CL130     LOAD INDICATOR BIT          DCL01220
0027 D500 0085             123 |       STO  L1 CL270     STORE IN A WORD OF BUFFER   DCL01230
0029 71FF                  124 |       MDX   1 -1        DECREMENT WORD COUNT        DCL01240
002A 70FC                  125 |       MDX     *-4       BRANCH IF NOT ZERO          DCL01250
                           126 | *                                                   DCL01260
                           127 | *   START THE CARD READER                           DCL01270
                           128 | *                                                   DCL01280
002B 08DC                  129 | CL150 XIO     CL040-1   TEST 2501 DSW               DCL01290
002C 4C04 002B             130 |       BSC  L  CL150,E   BRANCH IF NOT READY         DCL01300
002E 08D5                  131 |       XIO     CL020-1   START 2501                  DCL01310
002F 68DA                  132 |       STX   0 CL050     SET CL050 ON                DCL01320
                           133 | *                                                   DCL01330
                           134 | *   INITIALIZE TO PACK UP THE INPUT AREA            DCL01340
                           135 | *                                                   DCL01350
0030 C0D3                  136 |       LD      CL020-1                               DCL01360
0031 D0D4                  137 |       STO     CL030-1   INITIALIZE IOCC ADDRESS     DCL01370
0032 6500 0086             138 |       LDX  L1 CL270+1   LOAD BUFFER ADDRESS         DCL01380
0034 6600 0086             139 |       LDX  L2 CL270+1   LOAD BUFFER ADDRESS         DCL01390
0036 6348                  140 |       LDX   3 72        LOAD COLUMN COUNT           DCL01400
                           141 | *                                                   DCL01410
                           142 | *   PACK THE INPUT AREA                             DCL01420
                           143 | *                                                   DCL01430
0037 C200                  144 | CL160 LD    2 0         TEST IF COLUMN IN CORE      DCL01440
0038 4C04 0037             145 |       BSC  L  *-3,E     BRANCH IF NOT               DCL01450
003A C1FF                  146 |       LD    1 -1        LOAD LAST WORD              DCL01460
003B 18D0                  147 | CL170 RTE     16        PLACE IN Q REGISTER         DCL01470
003C C200                  148 |       LD    2 0         LOAD NEW WORD               DCL01480
003D 18D0                  149 | CL180 RTE     16        PLACE ON WORD BOUNDARY      DCL01490
003E D1FF                  150 |       STO   1 -1        STORE A REGISTER            DCL01500
003F 18D0                  151 | RTEX3 RTE     16                                    DCL01510
0040 D100                  152 |       STO   1 0         STORE Q REGISTER            DCL01520
0041 74FC 003D             153 |       MDX  L  CL180,-4  ALTER ROTATE INSTRUCTION    DCL01530
0043 C0F9                  154 |       LD      CL180     TEST FOR END OF FOUR        DCL01540
0044 100C                  155 |       SLA     12        ISOLATE SHIFT COUNT         DCL01550
0045 4C20 004B             156 |       BSC  L  CL200,Z   BRANCH IF NOT NEW SET       DCL01560
0047 C0F7                  157 |       LD      RTEX3     INITIALIZE ROTATE           DCL01570
0048 D0F4                  158 |       STO     CL180       INSTRUCTIONS              DCL01580
0049 D0F1                  159 |       STO     CL170                                 DCL01590
004A 7003                  160 |       MDX     CL210     BRANCH                      DCL01600
004B 7101                  161 | CL200 MDX   1 1         INCREMENT TO NEXT WORD      DCL01610
004C 7404 003B             162 |       MDX  L  CL170,4   ALTER ROTATE INSTRUCTION    DCL01620
004E 7201                  163 | CL210 MDX   2 1         INCREMENT TO NEXT COLUMN    DCL01630
004F 73FF                  164 |       MDX   3 -1        DECREMENT COLUMN COUNT      DCL01640
0050 70E6                  165 |       MDX     CL160     BRANCH IF NOT ZERO          DCL01650
                           166 | *                                                   DCL01660
                           167 | *   CHECK SUM THE CARD FOR POSSIBLE ERRORS          DCL01670
                           168 | *                                                   DCL01680
0051 C035                  169 |       LD      CL270+2   LOAD CHECK SUM              DCL01690
0052 4C18 0063             170 |       BSC  L  CL230,+-  BRANCH IF ZERO              DCL01700
0054 6236                  171 |       LDX   2 54        LOAD WORD COUNT             DCL01710
0055 C0B5                  172 |       LD      CL060     LOAD CARD NUMBER            DCL01720
0056 8600 0085             173 | CL220 A    L2 CL270     ADD A WORD                  DCL01730
0058 4802                  174 |       BSC     C         BRANCH NO CARRY             DCL01740
0059 80CA                  175 |       A       CL130     ADD 1 FOR CARRY             DCL01750
005A 72FF                  176 |       MDX   2 -1        DECREMENT WORD COUNT        DCL01760
005B 70FA                  177 |       MDX     CL220     BRANCH IF NOT ZERO          DCL01770
005C 1801                  178 |       SRA     1         IS CHECK SUM 1              DCL01780
005D 4C18 0066             179 |       BSC  L  CL240,+-  BRANCH IF YES               DCL01790
005F C0AA                  180 |       LD      CL050     LOAD BUSY INDICATOR         DCL01800
0060 4C20 005F             181 |       BSC  L  *-3,Z     BRANCH IF CARD BUSY         DCL01810
0062 70BC                  182 |       MDX     CL100     BRANCH                      DCL01820
                           183 | *                                                   DCL01830
                           184 | *   CHECK TO SEE IF CARD IS DONE                    DCL01840
                           185 | *                                                   DCL01850
0063 74FF 000B             186 | CL230 MDX  L  CL060,-1  DECREMENT CARD COUNT BY 1   DCL01860
0065 1000                  187 |       NOP               SKIPS ON CARD NUMBER 1      DCL01870
0066 C021                  188 | CL240 LD      CL270+3   LOAD CARD TYPE              DCL01880
0067 4C10 006C             189 |       BSC  L  CL250,-   BRANCH IF NOT LAST CARD     DCL01890
0069 C0A0                  190 |       LD      CL050     LOAD BUSY INDICATOR         DCL01900
006A 4C20 0069             191 |       BSC  L  *-3,Z     BRANCH IF CARD BUSY         DCL01910
                           192 | *                                                   DCL01920
                           193 | *   MOVE  THE CARD TO THE CORRECT AREA              DCL01930
                           194 | *                                                   DCL01940
006C 6500 0089             195 | CL250 LDX  L1 CL270+4   POINT AT FIRST WORD         DCL01950
006E C1FF                  196 |       LD    1 -1        SEPARATE WORD COUNT         DCL01960
006F 1001                  197 |       SLA     1         (0000000XXXXXXXX0)          DCL01970
0070 1801                  198 |       SRA     1         (00000000XXXXXXXX)          DCL01980
0071 D001                  199 |       STO     *+1                                   DCL01990
0072 6600 0000             200 |       LDX  L2 *-*       LOAD WORD COUNT             DCL02000
0074 6780 0086             201 |       LDX  I3 CL270+1   POINT WERE DATA IS PLACED   DCL02010
0076 C100                  202 | CL260 LD    1 0                                     DCL02020
0077 D300                  203 |       STO   3 0         MOVE  ONE WORD              DCL02030
0078 7101                  204 |       MDX   1 1         INCREMENT POINTER           DCL02040
0079 7301                  205 |       MDX   3 1         INCREMENT POINTER           DCL02050
007A 72FF                  206 |       MDX   2 -1        DECREMENT WORD COUNT        DCL02060
007B 70FA                  207 |       MDX     CL260     BRANCH IF NOT ZERO          DCL02070
007C 7401 000B             208 |       MDX  L  CL060,1   INCREMENT CARD NUMBER       DCL02080
                           209 | *                                                   DCL02090
                           210 | *   CHECK LAST CARD OF DECK                         DCL02100
                           211 | *                                                   DCL02110
007E C009                  212 |       LD      CL270+3   LOAD CARD TYPE              DCL02120
007F 4C10 0025             213 |       BSC  L  CL140,-   BRANCH IF NOT LAST CARD     DCL02130
                           214 | *                                                   DCL02140
                           215 | *   READY EXECUTION                                 DCL02150
                           216 | *                                                   DCL02160
0081 6780 00BA             217 |       LDX  I3 CL270+53  LOAD INDEX REGISTER 3       DCL02170
0083 4C80 00BB             218 |       BSC  I  CL270+54  BRANCH TO ROUTINE           DCL02180
                           219 | *                                                   DCL02190
                           220 | *   I/O BUFFER                                      DCL02200
                           221 | *                                                   DCL02210
0085 0050                  222 | CL270 DC      80        WORD COUNT                  DCL02220
00D6                       223 | CL275 EQU     *+80      START OR CORE LOAD OF USER  DCL02230
INITIALIZE AND MOVE  CIL
 
                           225 | *                                                   DCL02250
                           226 | *   THIS ROUTINE ADJUSTS THE CARD ROUTINE           DCL02260
                           227 | *                                                   DCL02270
0073                       228 | CL280 EQU     /73            LOADED ADDRESS         DCL02280
0003                       229 | CL290 EQU     /3             EXECUTED ADDRESS       DCL02290
0070                       230 | CL300 EQU     CL280-CL290    OFFSET PROGRAM IS MOVE DCL02300
0082                       231 | CL310 EQU     CL270+1-CL010  SIZE OF AREA TO MOVE   DCL02310
00F6                       232 | CL320 EQU     *+CL300        ENTRY POINT            DCL02320
0086 C400 0029             233 |       LD   L  /29                                   DCL02330
0088 1808                  234 |       SRA     8                                     DCL02340
0089 4C20 0104             235 |       BSC  L  CL350+CL300,Z   BRANCH IF 2501        DCL02350
                           236 | *                                                   DCL02360
                           237 | *   READY FOR 1442                                  DCL02370
                           238 | *                                                   DCL02380
008B C006                  239 |       LD      CL330                                 DCL02390
008C D400 0075             240 |       STO  L  CL020+CL300    INITIALIZE IOCC        DCL02400
008E C004                  241 |       LD      CL340                                 DCL02410
008F D400 0079             242 |       STO  L  CL040+CL300    INITIALIZE IOCC        DCL02420
0091 7002                  243 |       MDX     CL350                                 DCL02430
0092 1404                  244 | CL330 DC      /1404          START 1442 IOCC FUNCT. DCL02440
0093 1703                  245 | CL340 DC      /1703          TEST 1442 IOCC FUNCT.  DCL02450
                           246 | *                                                   DCL02460
                           247 | *   THIS ROUTINE MOVES THE CORE IMAGE LOADER        DCL02470
                           248 | *   FROM THE PLACE THAT IT IS LOADED TO LOW CORE    DCL02480
                           249 | *                                                   DCL02490
0094 6500 FF7E             250 | CL350 LDX  L1 -CL310         LOAD WORD COUNT        DCL02500
0096 C500 00F6             251 |       LD   L1 CL280+CL310+1  MOVE A WORD            DCL02510
0098 D500 0086             252 |       STO  L1 CL290+CL310+1                         DCL02520
009A 7101                  253 |       MDX   1 1              DECREMENT WORD COUNT   DCL02530
009B 70FA                  254 |       MDX     *-6            BRANCH IF NOT ZERO     DCL02540
009C 4C00 0025             255 |       BSC  L  CL140     ENTER CORE IMAGE LOADER     DCL02550
009E                       256 |       END     CL320                                 DCL02560
 
There were no errors in this assembly
 
Program transfer address = 00F6
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
CL010 0004    77  231
CL020 0005    79  131  136  240
CL030 0007    81   92   93  137
CL040 0009    83   94  105  129  242
CL050 000A    84  107  132  180  190
CL060 000B    85  109  172  186  208
CL070 000D    90   82   96
CL080 0016   100  108
CL090 0018   103   86
CL100 001F   109  182
CL110 0000   115   91   95  100  104
CL120 0023   116  106
CL130 0024   117  122  175
CL140 0025   121  111  213  255
CL150 002B   129  130
CL160 0037   144  165
CL170 003B   147  159  162
CL180 003D   149  153  154  158
CL200 004B   161  156
CL210 004E   163  160
CL220 0056   173  177
CL230 0063   186  170
CL240 0066   188  179
CL250 006C   195  189
CL260 0076   202  207
CL270 0085   222   78  123  138  139  169  173  188  195  201  212  217  218
                  231
CL275 00D6   223
CL280 0073   228  230  251
CL290 0003   229  230  252
CL300 0070   230  232  235  240  242
CL310 0082   231  250  251  252
CL320 00F6   232  256
CL330 0092   244  239
CL340 0093   245  241
CL350 0094   250  235  243
RTEX3 003F   151  157
ibm/ibm1130-lib/dmsr2v12/dciloadr_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator