T2SUBIN

Table Of Contents
  • [00004] LIBF SUBIN
t2subin.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:08 2020
 
Source File: \t2subin.asm 
LIBF SUBIN
 
                             2 | *             FORTRAN SUBROUTINE INITIALIZATION     T2C00020
                             3 |       LIBR    SUBIN                                 T2C00030
                             4 |       ENT     SUBIN                                 T2C00040
                             5 | *************************************************** T2C00050
                             6 | *   SUBROUTINE NAME                               * T2C00060
                             7 | *      FULL NAME- SUBROUTINE INITIALIZATION       * T2C00070
                             8 | *      CODE NAME- SUBIN                           * T2C00080
                             9 | *   PURPOSE- SYSTEM SUBROUTINE 'SUBIN'            * T2C00090
                            10 | *      INITIALIZES A FORTRAN SUBPROGRAM BY        * T2C00100
                            11 | *      TRANSFERRING THE ADDRESSES IN THE          * T2C00110
                            12 | *      ARGUMENT LIST OF THE CALLING PROGRAM       * T2C00120
                            13 | *      AND INSERTING THEM AS ADDRESSES OF         * T2C00130
                            14 | *      DUMMY VARIABLES IN THE CALLED              * T2C00140
                            15 | *      SUBPROGRAM.                                * T2C00150
                            16 | *      IT ALSO INCREMENTS THE ADDRESS IN          * T2C00160
                            17 | *      THE LINK WORD OF THE SUBPROGRAM BY         * T2C00170
                            18 | *      THE NUMBER OF ARGUMENTS SO THAT THE        * T2C00180
                            19 | *      LINK WORD WILL BECOME RETURN ADDRESS       * T2C00190
                            20 | *      (=FIRST WORD AFTER THE ARGUMENT LIST       * T2C00200
                            21 | *      IN THE CALLING PROGRAM).                   * T2C00210
                            22 | *                                                 * T2C00220
                            23 | *                                                 * T2C00230
                            24 | *                                                 * T2C00240
                            25 | *      CALLING PROGRAM REFERS TO A                * T2C00250
                            26 | *      FORTRAN SUBPROGRAM WITH A LONG             * T2C00260
                            27 | *      BSI INSTRUCTION (ADDRESS = ADDRESS OF      * T2C00270
                            28 | *      THE SUBPROGRAM), FOLLOWED BY AN            * T2C00280
                            29 | *      ARGUMENT LIST.                             * T2C00290
                            30 | *                                                 * T2C00300
                            31 | *      IN ORDER TO TRANSFER THESE ARGUMENTS,      * T2C00310
                            32 | *      THE FIRST EXECUTABLE INSTRUCTION IN        * T2C00320
                            33 | *      EACH SUBPROGRAM THAT HAS DUMMY             * T2C00330
                            34 | *      VARIABLES IS A SHORT BSI INSTRUCTION       * T2C00340
                            35 | *      (ADDRESS = TRANSFER VECTOR ADDRESS OF      * T2C00350
                            36 | *      'SUBIN'), FOLLOWED BY A LIST OF ADD-       * T2C00360
                            37 | *      RESSES OF THE DUMMY VARIABLES TO           * T2C00370
                            38 | *      BE INSERTED.                               * T2C00380
                            39 | *                                                 * T2C00390
                            40 | *                                                 * T2C00400
                            41 | *                                                 * T2C00410
                            42 | *      TO INDICATE WHICH DUMMY VARIABLE IS        * T2C00420
                            43 | *      REFERRED TO IN THE LIST, THE ARRAY OF      * T2C00430
                            44 | *      ADDRESSES REFERRING TO ONE DUMMY           * T2C00440
                            45 | *      VARIABLE IS TERMINATED BY A                * T2C00450
                            46 | *      ZERO. THE ZERO TERMINATING                 * T2C00460
                            47 | *      THE LAST ARRAY IS FOLLOWED BY A            * T2C00470
                            48 | *      WORD = 0001 TO INDICATE THE END OF         * T2C00480
                            49 | *      THE LIST. (CONSTANT = 1 IS                 * T2C00490
                            50 | *      USED SINCE IT CAN NEVER BE MISTAKEN        * T2C00500
                            51 | *      FOR  AN ADDRESS.)                          * T2C00510
                            52 | *      HAVING ENCOUNTERED CONSTANT OF ONE,        * T2C00520
                            53 | *      'SUBIN' TRANSFERS CONTROL TO THE           * T2C00530
                            54 | *      NEXT WORD (AFTER THE CONSTANT), WHICH      * T2C00540
                            55 | *      IS THE NEXT POST-INITIALIZATION            * T2C00550
                            56 | *      EXECUTABLE INSTRUCTION.                    * T2C00560
                            57 | *                                                 * T2C00570
                            58 | *      SUBROUTINES THAT HAVE NO ARGUMENTS         * T2C00580
                            59 | *      DO NOT REQUIRE SUBROUTINE 'SUBIN'.         * T2C00590
                            60 | *                                                 * T2C00600
                            61 | *   METHOD- N/A                                   * T2C00610
                            62 | *   CAPABILITIES AND LIMITATIONS- N/A             * T2C00620
                            63 | *   SPECIAL FEATURES- N/A                         * T2C00630
                            64 | *   ADDITIONAL INFORMATION- N/A                   * T2C00640
                            65 | *************************************************** T2C00650
0000 1000                   66 | SUBIN SLA     0        DUMMY-INSTRUCTION            T2C00660
0001 C400 0000              67 |       LD   L  *+*-*-*  GET LINK WORD FROM TV        T2C00670
0003 D006                   68 |       STO     ADR1+1                                T2C00680
0004 901A                   69 |       S       TWO      COMPUTE AND INSERT ADDRESS   T2C00690
0005 D002                   70 |       STO     ADR0+1   *OF LINK WORD (= SUBPROGRAM  T2C00700
0006 D008                   71 |       STO     ADR2+1   *LINK WORD)                  T2C00710
0007 6580 0000              72 | ADR0  LDX  I1 *-*                                   T2C00720
0009 C400 0000              73 | ADR1  LD   L  *-*      GET NEXT ADDR, ZERO, OR ONE  T2C00730
000B 4C20 0011R             74 |       BSC  L  ADR3,Z   BR IF NOT A ZERO             T2C00740
000D 7101                   75 |       MDX   1 1        MOVE XR1 TO NEXT ARGUMENT    T2C00750
000E 7401 0000              76 | ADR2  MDX  L  *-*,1    INCR ADDR IN LINK WORD       T2C00760
0010 7007                   77 |       MDX     ADR5                                  T2C00770
0011 D005                   78 | ADR3  STO     ADR4+1   INSERT ADDRESS               T2C00780
0012 1801                   79 |       SRA     1                                     T2C00790
0013 4818                   80 |       BSC     +-       SKIP IF NOT ONE              T2C00800
0014 7006                   81 |       MDX     ADR6     BR IF END OF ARGUMENT LIST   T2C00810
0015 C100                   82 |       LD    1 0        TRANSFER ONE ADDRESS FROM    T2C00820
0016 D400 0000              83 | ADR4  STO  L  *-*      ARGUMENT LIST OF CALL PROG   T2C00830
0018 7401 000AR             84 | ADR5  MDX  L  ADR1+1,1 INCR SUBIN ARGUMENT POINTER  T2C00840
001A 70EE                   85 |       MDX     ADR1                                  T2C00850
001B 7401 000AR             86 | ADR6  MDX  L  ADR1+1,1                              T2C00860
001D 4C80 000AR             87 |       BSC  I  ADR1+1   RETURN TO SUBPROGRAM         T2C00870
001F 0002                   88 | TWO   DC      2                                     T2C00880
                            89 | *                      (INITIALIZATION TERMINATED)  T2C00890
                            90 | *                                                   T2C00900
                            91 | *************************************************** T2C00910
0020                        92 |       END                                           T2C00920
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
ADR0  0007R   72   70
ADR1  0009R   73   68   84   85   86   87
ADR2  000ER   76   71
ADR3  0011R   78   74
ADR4  0016R   83   78
ADR5  0018R   84   77
ADR6  001BR   86   81
SUBIN 0000R   66
TWO   001FR   88   69