User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:ssovl

Deck SSOVL

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.ssovl   +++|COPYRT
00002  M01S00002.ssovl   +++|COMMON
00003  M01S00003.ssovl   +++|SSOVL
00004  M01S00004.ssovl   +++|          IDENT  SSOVL
00005  M01S00005.ssovl   +++|          ENTRY  SSOVL
00006  M01S00006.ssovl   +++|          ENTRY  SSOVL
00007  M01S00007.ssovl   +++|          SYSCOM B1
00008  M01S00008.ssovl   +++| SSOVL    TITLE  SSOVL - LOAD *SSEXEC* OVERLAYS.
00009  M01S00009.ssovl   +++|*COMMENT  LOAD *SSEXEC* OVERLAYS.
Line S00010 Modification History
M01 (Added by) ssovl
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00010  M02S00010.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORP.  1979.
00011  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00012  M01S00011.ssovl   +++|
00013  M01S00012.ssovl   +++|*CALL COMCMAC
00014  M01S00013.ssovl   +++|          SPACE  4,30
00015  M01S00014.ssovl   +++|***       SSOVL - LOAD *SSEXEC* OVERLAYS.
00016  M01S00015.ssovl   +++|*
00017  M01S00016.ssovl   +++|*         SSOVL(OVLLEV,XFRADR);        ( *SYMPL* CALL )
00018  M01S00017.ssovl   +++|*
00019  M01S00018.ssovl   +++|*         ENTRY  (OVLLEV) = OVERLAY LEVEL.  THE FORMAT IS -
00020  M01S00019.ssovl   +++|*                           48/ 0, 6/ PRIMARY LEVEL, 6/ SECONDARY
00021  M01S00020.ssovl   +++|*                           LEVEL.
00022  M01S00021.ssovl   +++|*
00023  M01S00022.ssovl   +++|*                (XFRADR) = TRANSFER ADDRESS, ENTRY TO OVERLAY.
00024  M01S00023.ssovl   +++|*                           IF 0, ENTER OVERLAY AT ENTRY POINT ADDRESS.
00025  M01S00024.ssovl   +++|*                           ELSE, ENTER OVERLAY AT SPECIFIED ABSOLUTE
00026  M01S00025.ssovl   +++|*                           ADDRESS.
00027  M01S00026.ssovl   +++|*
00028  M01S00027.ssovl   +++|*         EXIT   THE RETURN ADDRESS IS PLACED IN THE OVERLAY.
00029  M01S00028.ssovl   +++|*                CONTROL TRANSFERS TO THE OVERLAY.
00030  M01S00029.ssovl   +++|*
00031  M01S00030.ssovl   +++|*         USES   A - 1, 2, 5, 6.
00032  M01S00031.ssovl   +++|*                B - 1, 6, 7.
00033  M01S00032.ssovl   +++|*                X - 0, 1, 2, 5, 6, 7.
00034  M01S00033.ssovl   +++|*
00035  M01S00034.ssovl   +++|*         CALLS  FOL.LOV.
00036  M01S00035.ssovl   +++|*
00037  M01S00036.ssovl   +++|*         NOTES  IT IS ASSUMED THAT THE ENTRY POINT ADDRESS OF EACH
00038  M01S00037.ssovl   +++|*                OVERLAY CONTAINS (IN BITS 47-30) THE ADDRESS OF THE
00039  M01S00038.ssovl   +++|*                ROUTINE TO BE EXECUTED.  THIS MODIFICATION IN OVERLAY
00040  M01S00039.ssovl   +++|*                DESIGN IS DONE TO HANDLE *SYMPL* PROCEDURES.
00041  M01S00040.ssovl   +++|*
00042  M01S00041.ssovl   +++|*         DAYFILE MESSAGE    * OVERLAY NOT FOUND.*
00043  M01S00042.ssovl   +++|
00044  M01S00043.ssovl   +++|
00045  M01S00044.ssovl   +++| SSOVL    SUBR               ENTRY/EXIT
00046  M01S00045.ssovl   +++|
00047  M01S00046.ssovl   +++| SSOVL0   BSS    0           ENTRY FROM *RCOVL*
00048  M01S00047.ssovl   +++|          SB1    1
00049  M01S00048.ssovl   +++|          SX6    A1          PARAMETER LIST ADDRESS
00050  M01S00049.ssovl   +++|          SA2    A1+B1
00051  M01S00050.ssovl   +++|          SA3    X2          GET *XFRADR* PARAMETER
00052  M01S00051.ssovl   +++|          BX7    X3
00053  M01S00052.ssovl   +++|          SA7    XFRADR      SAVE TRANSFER ADDRESS
00054  M01S00053.ssovl   +++|          SA6    OVLPARAM
00055  M01S00054.ssovl   +++|
00056  M01S00055.ssovl   +++|*         DETERMINE IF REQUESTED OVERLAY IS PRIMARY OR SECONDARY.
00057  M01S00056.ssovl   +++|*         IF IT IS ALREADY LOADED, SKIP THE LOAD.
00058  M01S00057.ssovl   +++|
00059  M01S00058.ssovl   +++|          SA1    X1          LEVEL OF REQUESTED OVERLAY
00060  M01S00059.ssovl   +++|          MX7    -6
00061  M01S00060.ssovl   +++|          BX0    -X7*X1      EXTRACT SECONDARY LEVEL NUMBER
00062  M01S00061.ssovl   +++|          ZR     X0,OVL.1    IF PRIMARY OVERLAY REQUESTED
00063  M01S00062.ssovl   +++|          SX0    B1
00064  M01S00063.ssovl   +++| OVL.1    BSS    0
00065  M01S00064.ssovl   +++|          SA5    X0+OVLLEV   LEVEL OF CURRENT OVERLAY
00066  M01S00065.ssovl   +++|          SA2    X0+OVLEPTA
00067  M01S00066.ssovl   +++|          SB7    X2          CURRENT OVERLAY ENTRY POINT ADDRESS
00068  M01S00067.ssovl   +++|          BX6    X1-X5
00069  M01S00068.ssovl   +++|          ZR     X6,OVL1     IF OVERLAY IS ALREADY IN FL
00070  M01S00069.ssovl   +++|
00071  M01S00070.ssovl   +++|          BX6    X1
00072  M01S00071.ssovl   +++|          SA6    A5          SAVE OVERLAY LEVEL
00073  M01S00072.ssovl   +++|          NZ     X0,OVL.2    IF SECONDARY LOAD
00074  M01S00073.ssovl   +++|          MX6    0
00075  M01S00074.ssovl   +++|          SA6    OVLLEV+1    CLEAR SECONDARY LEVEL NUMBER
00076  M01S00075.ssovl   +++| OVL.2    BSS    0
00077  M01S00076.ssovl   +++|
00078  M01S00077.ssovl   +++|*         LOAD THE OVERLAY.
00079  M01S00078.ssovl   +++|
00080  M01S00079.ssovl   +++|          RJ     =XFOL.LOV   CALL OVERLAY LOADER
00081  M01S00080.ssovl   +++|          NG     B7,OVL3     IF OVERLAY NOT FOUND
00082  M01S00081.ssovl   +++|          SA2    OVLC        INCREMENT OVERLAY COUNTER
00083  M01S00082.ssovl   +++|          SX6    X2+B1
00084  M01S00083.ssovl   +++|          SA6    A2
00085  M01S00084.ssovl   +++|          SX6    B7          ENTRY POINT ADDRESS
00086  M01S00085.ssovl   +++|          SA6    X0+OVLEPTA  SAVE ENTRY POINT ADDRESS
00087  M01S00086.ssovl   +++|
00088  M01S00087.ssovl   +++|*         SET UP RETURN ADDRESS AND ENTER THE OVERLAY.
00089  M01S00088.ssovl   +++|
00090  M01S00089.ssovl   +++| OVL1     BSS    0
00091  M01S00090.ssovl   +++|          SA2    SSOVL       GET RETURN ADDRESS
00092  M01S00091.ssovl   +++|          BX6    X2
00093  M01S00092.ssovl   +++|          SA5    B7          GET ADDRESS TO PROCEDURE
00094  M01S00093.ssovl   +++|          LX5    30
00095  M01S00094.ssovl   +++|          SB7    X5          ENTRY POINT ADDRESS TO PROCEDURE
00096  M01S00095.ssovl   +++|          SA6    B7          PLACE RETURN ADDRESS
00097  M01S00096.ssovl   +++|          SB7    B7+B1       ADVANCE TO TRANSFER ADDRESS
00098  M01S00097.ssovl   +++|          SA1    OVLPARAM    PARAMETER LIST ADDRESS
00099  M01S00098.ssovl   +++|          SA2    XFRADR
00100  M01S00099.ssovl   +++|          ZR     X2,OVL2     IF TRANSFER TO ENTRY POINT
00101  M01S00100.ssovl   +++|
00102  M01S00101.ssovl   +++|
00103  M01S00102.ssovl   +++|          SB7    X2          TRANSFER ADDRESS
00104  M01S00103.ssovl   +++|
00105  M01S00104.ssovl   +++| OVL2     SA1    X1+2        ADVANCE PARAMETER POINTER
00106  M01S00105.ssovl   +++|
00107  M01S00106.ssovl   +++|          JP     B7          SIMULATED CALL TO PROGRAM
00108  M01S00107.ssovl   +++|
00109  M01S00108.ssovl   +++|
00110  M01S00109.ssovl   +++| OVL3     MESSAGE MADDR      ISSUE ERROR MESSAGE
00111  M01S00110.ssovl   +++|          ABORT              ABORT
00112  M01S00111.ssovl   +++|*CALL COMXOVL
00113  M01S00112.ssovl   +++|
00114  M01S00113.ssovl   +++| MADDR    DATA   40C OVERLAY NOT FOUND.
00115  M01S00114.ssovl   +++| XFRADR   BSSZ   1           SAVED TRANSFER ADDRESS
00116  M01S00115.ssovl   +++| OVLEPTA  BSSZ   2           ENTRY POINT ADDRESS OF CURRENT OVERLAY
00117  M01S00116.ssovl   +++| OVLLEV   BSSZ   2           LEVEL NUMBER OF CURRENT OVERLAY
00118  M01S00117.ssovl   +++| OVLPARAM BSSZ   1           ADDRESS TO CALLER PARAMETER LIST
00119  M01S00118.ssovl   +++|
00120  M01S00119.ssovl   +++|
00121  M01S00120.ssovl   +++| RSOVL    TITLE  RSOVL - REPLACE CURRENT OVERLAY.
00122  M01S00121.ssovl   +++|
00123  M01S00122.ssovl   +++|**        RSOVL - REPLACE CURRENT OVERLAY.
00124  M01S00123.ssovl   +++|*
00125  M01S00124.ssovl   +++|*         RSOVL(OVLLEV,XFRADR);              ( *SYMPL* CALL )
00126  M01S00125.ssovl   +++|*
00127  M01S00126.ssovl   +++|*         ENTRY  (OVLLEV) = OVERLAY LEVEL.  THE FORMAT IS -
00128  M01S00127.ssovl   +++|*                           48/ 0, 6/ PRIMARY LEVEL, 6/ SECONDARY
00129  M01S00128.ssovl   +++|*                           LEVEL.
00130  M01S00129.ssovl   +++|*
00131  M01S00130.ssovl   +++|*                (XFRADR) = TRANSFER ADDRESS, ENTRY TO OVERLAY.
00132  M01S00131.ssovl   +++|*                           IF 0, ENTER OVERLAY AT ENTRY POINT ADDRESS.
00133  M01S00132.ssovl   +++|*                           ELSE, ENTER OVERLAY AT SPECIFIED ABSOLUTE
00134  M01S00133.ssovl   +++|*                           ADDRESS.
00135  M01S00134.ssovl   +++|*                *SSOVL* MUST HAVE BEEN CALLED PREVIOUSLY TO LOAD
00136  M01S00135.ssovl   +++|*                THE PRIMARY OVERLAY.
00137  M01S00136.ssovl   +++|*
00138  M01S00137.ssovl   +++|*         EXIT   (A1)     = *FWA* OF PARAMETER LIST.
00139  M01S00138.ssovl   +++|*
00140  M01S00139.ssovl   +++|*         CALLS  SSOVL
00141  M01S00140.ssovl   +++|*
00142  M01S00141.ssovl   +++|*         NOTES  *RSOVL* CAN BE CALLED ONLY TO GO FROM ONE SECONDARY
00143  M01S00142.ssovl   +++|*                OVERLAY TO ANOTHER SECONDARY OVERLAY.  THE CURRENT
00144  M01S00143.ssovl   +++|*                SECONDARY OVERLAY IS REPLACED BY THE REQUESTED
00145  M01S00144.ssovl   +++|*                SECONDARY OVERLAY.  *RSOVL* CANNOT BE USED TO GO
00146  M01S00145.ssovl   +++|*                FROM ONE PRIMARY OVERLAY TO ANOTHER PRIMARY OVERLAY.
00147  M01S00146.ssovl   +++|
00148  M01S00147.ssovl   +++|
00149  M01S00148.ssovl   +++| RSOVL    SUBR               ENTRY/EXIT
00150  M01S00149.ssovl   +++|          EQ     SSOVL0      ALTERNATE ENTRY TO *SSOVL*
00151  M01S00150.ssovl   +++|
00152  M01S00151.ssovl   +++|          END
cdc/nos2.source/opl.opl871/deck/ssovl.txt ยท Last modified: by 127.0.0.1