          CTEXT  DSI$PP UTILITY SUBROUTINES                              R123_OS        1
          SPACE  4                                                       R123_OS        2
 QUAL$    IF     -DEF,QUAL$                                              R123_OS        3
          QUAL   DSIPUS                                                  R123_OS        4
 QUAL$    ENDIF                                                          R123_OS        5
          BASE   M                                                       R123_OS        6
*         COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992               SCW_1080       1
          SPACE  4                                                       R123_OS        8
***       DSI$PP_UTILITY_SUBROUTINES.                                    R123_OS        9
*         B. R. HANSON       85/05/14.                                   R123_OS       10
          SPACE  4                                                       R123_OS       11
***              PROVIDES ROUTINES OF GENERAL UTILITY.                   R123_OS       12
*                                                                        R123_OS       13
 SCF      SPACE  4,10                                                    R123_OS       14
**        SCF - SET CHANNEL FLAG.                                        R123_OS       15
*                                                                        R123_OS       16
*         ENTRY  (A) = CHANNEL NUMBER.                                   R123_OS       17
*                                                                        R123_OS       18
*         EXIT   CHANNEL FLAG SET FOR SPECIFIED CHANNEL.                 R123_OS       19
*                                                                        R123_OS       20
*         USES   NONE.                                                   R123_OS       21
                                                                         R123_OS       22
                                                                         R123_OS       23
 SCF      SUBR               ENTRY/EXIT                                  R123_OS       24
          LMC    6440                                                    R123_OS       25
          STM    SCFA        MODIFY SCF INSTRUCTION                      R123_OS       26
 SCF1     SCF    SCF3,MR     ACCESS MAINTENANCE CHANNEL                  R123_OS       27
 SCFA     SCF    SCF2,**     TEST AND SET FLAG FOR CHANNEL               R123_OS       28
          CCF    *,MR        CLEAR MAINTENANCE CHANNEL FLAG              R123_OS       29
          UJN    SCFX        RETURN                                      R123_OS       30
                                                                         R123_OS       31
 SCF2     CCF    *,MR        CLEAR MAINTENANCE CHANNEL INTERLOCK         R123_OS       32
 SCF3     LDN    77                                                      R123_OS       33
          SBN    1                                                       R123_OS       34
          PJN    *-1                                                     R123_OS       35
          UJN    SCF1        TRY ACCESS AGAIN                            R123_OS       36
 STA      SPACE  4,10                                                    R123_OS       37
**        STA     - SET TRANSFER ADDRESS.                                R123_OS       38
*                                                                        R123_OS       39
*         ADDRESS AND RAR REGISTER ARE SET FOR TRANSFER                  R123_OS       40
*         OVER 256K RMA.                                                 R123_OS       41
*                                                                        R123_OS       42
*         ENTRY  W2 - W3)= 32 BIT TRANSFER ADDRESS.                      R123_OS       43
*                                                                        R123_OS       44
*         EXIT   (A)      = OFFSET FROM R-REGISTER.                      R123_OS       45
*                (W4 - W5)= R-REGISTER VALUE.                            R123_OS       46
*                (W6)     = OFFSET FROM R-REGISTER.                      R123_OS       47
*                                                                        R123_OS       48
*         USES   W4 - W6.                                                R123_OS       49
                                                                         R123_OS       50
                                                                         R123_OS       51
 STA      SUBR                                                           R123_OS       52
          LDDL   W3                                                      R123_OS       53
          LPN    77         MAKE RAR(0-5) BITS                           R123_OS       54
          STD    W6         SAVE RAR OVERFLOW                            R123_OS       55
          LDDL   W3                                                      R123_OS       56
          SHN    -6         LOWER 10 BITS OF RAR                         R123_OS       57
          STD    W5                                                      R123_OS       58
          LDDL   W2         UPPER 16 BITS                                R123_OS       59
          LPN    3          GET LOWER 2 BITS                             R123_OS       60
          SHN    12                                                      R123_OS       61
          RAD    W5         MAKE LOWER 12 BITS OF RAR                    R123_OS       62
          LDDL   W2         UPPER 16 BITS                                R123_OS       63
          SHN    -2                                                      R123_OS       64
          STD    W4         UPPER 10D RAR BITS                           R123_OS       65
          LRD    W4         LOAD TRANSFER RAR                            R123_OS       66
          LDD    W6         LOAD PARTIAL TRANSFER ADDRESS                R123_OS       67
          UJN    STAX                                                    R123_OS       68
 IIB      SPACE  4,10                                                    R123_OS       69
**        IIB - INDEX INTERFACE BLOCK.                                   R123_OS       70
*                                                                        R123_OS       71
*         ENTRY  (A) = OFFSET INTO INTERFACE BLOCK.                      R123_OS       72
*                                                                        R123_OS       73
*         EXIT   (A) = RMA OF DESIRED WORD IN BLOCK.                     R123_OS       74
*                                                                        R123_OS       75
*         USES   NONE.                                                   R123_OS       76
                                                                         R123_OS       77
                                                                         R123_OS       78
 IIB      SUBR               ENTRY/EXIT                                  R123_OS       79
          ADDL   IB                                                      R123_OS       80
          LRD    IB+1                                                    R123_OS       81
          ADC    400000      ACTIVATE R-REGISTER                         R123_OS       82
          UJN    IIBX        RETURN                                      R123_OS       83
 PIB      SPACE  4,10                                                    R123_OS       84
          USE    PRESET                                                  R123_OS       85
                                                                         R123_OS       86
**        PIB - PREPARE INTERFACE BLOCK.                                 R123_OS       87
*                                                                        R123_OS       88
*         EXIT   (IB - IB+2) = R-REGISTER CONSTRUCT TO ACCESS EICB.      R123_OS       89
*                            = UNCHANGED IF EICB ADDRESS INVALID.        KAP_25         1
*                                                                        R123_OS       90
*         USES   T1 - T4.                                                R123_OS       91
                                                                         R123_OS       92
                                                                         R123_OS       93
 PIB      SUBR               ENTRY/EXIT                                  R123_OS       94
          LDN    EICBP                                                   R123_OS       95
          CRDL   T1                                                      R123_OS       96
          LDDL   T3                                                      R123_OS       97
          STDL   W2                                                      R123_OS       98
          NJN    PIBX        IF NOT VALID ADDRESS (TOO LARGE)            KAP_25         2
          LDDL   T4                                                      R123_OS       99
          STDL   W3                                                      R123_OS      100
          RJM    STA                                                     R123_OS      101
          STD    IB                                                      R123_OS      102
          SRD    IB+1                                                    R123_OS      103
          UJN    PIBX        RETURN                                      R123_OS      104
                                                                         R123_OS      105
          USE    *                                                       R123_OS      106
          SPACE  4                                                       R123_OS      107
          BASE   *                                                       R123_OS      108
 QUAL$    IF     -DEF,QUAL$                                              R123_OS      109
          QUAL   *                                                       R123_OS      110
 IIB      EQU    /DSIPUS/IIB                                             R123_OS      111
 PIB      EQU    /DSIPUS/PIB                                             R123_OS      112
 SCF      EQU    /DSIPUS/SCF                                             R123_OS      113
 STA      EQU    /DSIPUS/STA                                             R123_OS      114
 QUAL$    ENDIF                                                          R123_OS      115
          ENDX                                                           R123_OS      116
