User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:comfcid

Common COMFCID

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comfcid +++|
00002  M01S00002.comfcid +++|* COMFCID    PROVIDES CYBIL TO COMPASS STANDARD INTERFACE
00003  M01S00001.281l803 +++|*
00004  M01S00002.281l803 +++|*         COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00005  M01S00003.comfcid +++|
00006  M01S00004.comfcid +++|          CTEXT  COMFCID - CYBIL INTERFACE DEFINITIONS
00007  M01S00005.comfcid +++|          SPACE  2
00008  M01S00006.comfcid +++|          B1=1
00009  M01S00007.comfcid +++|          SPACE  4
00010  M01S00008.comfcid +++|*** THE FOLLOWING DEFINES THE NIL POINTER, INDICATING IN CYBIL
00011  M01S00009.comfcid +++|*   A POINTER POINTING TO NOTHING
00012  M01S00010.comfcid +++|
00013  M01S00011.comfcid +++|
00014  M01S00012.comfcid +++|NIL       EQU    377777B
00015  M01S00013.comfcid +++|          SPACE  4
00016  M01S00014.comfcid +++|*** THE FOLLOWING MACROS DEFINE THE ENTRY/EXIT SEQUENCE OF
00017  M01S00015.comfcid +++|*   CYBIL PROCEDURES.
00018  M01S00016.comfcid +++|
00019  M01S00017.comfcid +++|*   ENTRY CONDITIONS
00020  M01S00018.comfcid +++|*     B1   1
00021  M01S00019.comfcid +++|*     B2   POINTER TO CALLER'S STACK FRAME / TOP OF STACK (TOS)
00022  M01S00020.comfcid +++|*     B3   STACK LIMIT
00023  M01S00021.comfcid +++|*     X1   1ST ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00024  M01S00022.comfcid +++|*     X2   2ND ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00025  M01S00023.comfcid +++|*     X3   3RD ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00026  M01S00024.comfcid +++|*     X4   4TH ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00027  M01S00025.comfcid +++|*     X5   5TH ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00028  M01S00026.comfcid +++|*     B5   POINTER TO ARGUMENT EXTENSION LIST (IF ANY)
00029  M01S00027.comfcid +++|*     X7   PROCEDURE LINKAGE WORD (RETURN ADDRESS)
00030  M01S00028.comfcid +++|
00031  M01S00029.comfcid +++|*   EXIT CONDITIONS
00032  M01S00030.comfcid +++|*     B1   1
00033  M01S00031.comfcid +++|*     B2   AS ON ENTRY
00034  M01S00032.comfcid +++|*     B3   AS ON ENTRY
00035  M01S00033.comfcid +++|*     X1   AS X7 ON ENTRY
00036  M01S00034.comfcid +++|
00037  M01S00035.comfcid +++|          SPACE  4
00038  M01S00036.comfcid +++|*** THE FOLLOWING MACRO DEFINES THE ENTRY SEQUENCE
00039  M01S00037.comfcid +++|*   USING THE CYBIL STACK DISCIPLINE.
00040  M01S00038.comfcid +++|
00041  M01S00039.comfcid +++|
00042  M01S00040.comfcid +++|          PURGMAC ENTR
00043  M01S00041.comfcid +++|
00044  M01S00042.comfcid +++|          MACRO  ENTR,NAME
00045  M01S00043.comfcid +++|          LOCAL  MORE
00046  M01S00044.comfcid +++|MORE      RJ     =XCIL#SPE    * CALL PROLOG EXCEPTION ROUTINE
00047  M01S00045.comfcid +++|NAME      SX0    B2          * COPY POINTER TO CALLER'S STACK FRAME
00048  M01S00046.comfcid +++|          LX0    18          * POSITION IT
00049  M01S00047.comfcid +++|          BX6    X7+X0       * MERGE IT INTO LINKAGE WORD
00050  M01S00048.comfcid +++|          SB7    6           * SET ROUTINE STACK FRAME SIZE
00051  M01S00049.comfcid +++|          SB2    B2-B7       * ADJUST STACK FRAME POINTER
00052  M01S00050.comfcid +++|          GE     B3,B2,MORE  * CHECK IF ROOM IN STACK SEGMENT
00053  M01S00051.comfcid +++|          SA6    B2          * STORE LINKAGE WORD INTO STACK
00054  M01S00052.comfcid +++|          ENDM
00055  M01S00053.comfcid +++|          SPACE  4
00056  M01S00054.comfcid +++|*** DONE DEFINES THE CODE SEQUENCE TO RETURN FROM A
00057  M01S00055.comfcid +++|*   CYBIL PROCEDURE.
00058  M01S00056.comfcid +++|
00059  M01S00057.comfcid +++|
00060  M01S00058.comfcid +++|          PURGMAC DONE
00061  M01S00059.comfcid +++|
00062  M01S00060.comfcid +++|DONE      MACRO
00063  M01S00061.comfcid +++|          SA1    B2          * LOAD LINKAGE WORD
00064  M01S00062.comfcid +++|          SB7    X1          * GET RETURN ADDRESS
00065  M01S00063.comfcid +++|          SB2    B2+6        * RESTORE CALLER'S STACK POINTER
00066  M01S00064.comfcid +++|          JP     B7          * RETURN
00067  M01S00065.comfcid +++|          ENDM
00068  M01S00066.comfcid +++|          SPACE  4
00069  M01S00067.comfcid +++|*** THE FOLLOWING MACRO DEFINES THE CALLING SEQUENCE FOR A CYBIL
00070  M01S00068.comfcid +++|*   PROGRAM.  IT IS ASSUMED, THAT ARGUMENTS ARE ALREADY SET UP.
00071  M01S00069.comfcid +++|
00072  M01S00070.comfcid +++|
00073  M01S00071.comfcid +++|          PURGMAC CALL
00074  M01S00072.comfcid +++|
00075  M01S00073.comfcid +++|CALL      MACRO  P
00076  M01S00074.comfcid +++|          LOCAL  RETAD
00077  M01S00075.comfcid +++|          SX7    RETAD       * SET RETURN ADDRESS
00078  M01S00076.comfcid +++|          EQ     P           * TRANSFER CONTROL TO PROCEDURE
00079  M01S00077.comfcid +++|RETAD     BSS    0
00080  M01S00078.comfcid +++|          ENDM
00081  M01S00079.comfcid +++|          SPACE  2
00082  M01S00080.comfcid +++|          ENDX
cdc/nos2.source/opl.opl871/common/comfcid.txt ยท Last modified: by 127.0.0.1