User Tools

Site Tools


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

Common COMFCID

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.comfcid +++|
00002  M00S00002.comfcid +++|* COMFCID    PROVIDES CYBIL TO COMPASS STANDARD INTERFACE
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00003  M01S00001.281l803 +++|*
00004  M01S00002.281l803 +++|*         COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00005  M00S00003.comfcid +++|
00006  M00S00004.comfcid +++|          CTEXT  COMFCID - CYBIL INTERFACE DEFINITIONS
00007  M00S00005.comfcid +++|          SPACE  2
00008  M00S00006.comfcid +++|          B1=1
00009  M00S00007.comfcid +++|          SPACE  4
00010  M00S00008.comfcid +++|*** THE FOLLOWING DEFINES THE NIL POINTER, INDICATING IN CYBIL
00011  M00S00009.comfcid +++|*   A POINTER POINTING TO NOTHING
00012  M00S00010.comfcid +++|
00013  M00S00011.comfcid +++|
00014  M00S00012.comfcid +++|NIL       EQU    377777B
00015  M00S00013.comfcid +++|          SPACE  4
00016  M00S00014.comfcid +++|*** THE FOLLOWING MACROS DEFINE THE ENTRY/EXIT SEQUENCE OF
00017  M00S00015.comfcid +++|*   CYBIL PROCEDURES.
00018  M00S00016.comfcid +++|
00019  M00S00017.comfcid +++|*   ENTRY CONDITIONS
00020  M00S00018.comfcid +++|*     B1   1
00021  M00S00019.comfcid +++|*     B2   POINTER TO CALLER'S STACK FRAME / TOP OF STACK (TOS)
00022  M00S00020.comfcid +++|*     B3   STACK LIMIT
00023  M00S00021.comfcid +++|*     X1   1ST ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00024  M00S00022.comfcid +++|*     X2   2ND ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00025  M00S00023.comfcid +++|*     X3   3RD ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00026  M00S00024.comfcid +++|*     X4   4TH ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00027  M00S00025.comfcid +++|*     X5   5TH ARGUMENT THAT FITS IN A REGISTER IF IT FITS (IF ANY)
00028  M00S00026.comfcid +++|*     B5   POINTER TO ARGUMENT EXTENSION LIST (IF ANY)
00029  M00S00027.comfcid +++|*     X7   PROCEDURE LINKAGE WORD (RETURN ADDRESS)
00030  M00S00028.comfcid +++|
00031  M00S00029.comfcid +++|*   EXIT CONDITIONS
00032  M00S00030.comfcid +++|*     B1   1
00033  M00S00031.comfcid +++|*     B2   AS ON ENTRY
00034  M00S00032.comfcid +++|*     B3   AS ON ENTRY
00035  M00S00033.comfcid +++|*     X1   AS X7 ON ENTRY
00036  M00S00034.comfcid +++|
00037  M00S00035.comfcid +++|          SPACE  4
00038  M00S00036.comfcid +++|*** THE FOLLOWING MACRO DEFINES THE ENTRY SEQUENCE
00039  M00S00037.comfcid +++|*   USING THE CYBIL STACK DISCIPLINE.
00040  M00S00038.comfcid +++|
00041  M00S00039.comfcid +++|
00042  M00S00040.comfcid +++|          PURGMAC ENTR
00043  M00S00041.comfcid +++|
00044  M00S00042.comfcid +++|          MACRO  ENTR,NAME
00045  M00S00043.comfcid +++|          LOCAL  MORE
00046  M00S00044.comfcid +++|MORE      RJ     =XCIL#SPE    * CALL PROLOG EXCEPTION ROUTINE
00047  M00S00045.comfcid +++|NAME      SX0    B2          * COPY POINTER TO CALLER'S STACK FRAME
00048  M00S00046.comfcid +++|          LX0    18          * POSITION IT
00049  M00S00047.comfcid +++|          BX6    X7+X0       * MERGE IT INTO LINKAGE WORD
00050  M00S00048.comfcid +++|          SB7    6           * SET ROUTINE STACK FRAME SIZE
00051  M00S00049.comfcid +++|          SB2    B2-B7       * ADJUST STACK FRAME POINTER
00052  M00S00050.comfcid +++|          GE     B3,B2,MORE  * CHECK IF ROOM IN STACK SEGMENT
00053  M00S00051.comfcid +++|          SA6    B2          * STORE LINKAGE WORD INTO STACK
00054  M00S00052.comfcid +++|          ENDM
00055  M00S00053.comfcid +++|          SPACE  4
00056  M00S00054.comfcid +++|*** DONE DEFINES THE CODE SEQUENCE TO RETURN FROM A
00057  M00S00055.comfcid +++|*   CYBIL PROCEDURE.
00058  M00S00056.comfcid +++|
00059  M00S00057.comfcid +++|
00060  M00S00058.comfcid +++|          PURGMAC DONE
00061  M00S00059.comfcid +++|
00062  M00S00060.comfcid +++|DONE      MACRO
00063  M00S00061.comfcid +++|          SA1    B2          * LOAD LINKAGE WORD
00064  M00S00062.comfcid +++|          SB7    X1          * GET RETURN ADDRESS
00065  M00S00063.comfcid +++|          SB2    B2+6        * RESTORE CALLER'S STACK POINTER
00066  M00S00064.comfcid +++|          JP     B7          * RETURN
00067  M00S00065.comfcid +++|          ENDM
00068  M00S00066.comfcid +++|          SPACE  4
00069  M00S00067.comfcid +++|*** THE FOLLOWING MACRO DEFINES THE CALLING SEQUENCE FOR A CYBIL
00070  M00S00068.comfcid +++|*   PROGRAM.  IT IS ASSUMED, THAT ARGUMENTS ARE ALREADY SET UP.
00071  M00S00069.comfcid +++|
00072  M00S00070.comfcid +++|
00073  M00S00071.comfcid +++|          PURGMAC CALL
00074  M00S00072.comfcid +++|
00075  M00S00073.comfcid +++|CALL      MACRO  P
00076  M00S00074.comfcid +++|          LOCAL  RETAD
00077  M00S00075.comfcid +++|          SX7    RETAD       * SET RETURN ADDRESS
00078  M00S00076.comfcid +++|          EQ     P           * TRANSFER CONTROL TO PROCEDURE
00079  M00S00077.comfcid +++|RETAD     BSS    0
00080  M00S00078.comfcid +++|          ENDM
00081  M00S00079.comfcid +++|          SPACE  2
00082  M00S00080.comfcid +++|          ENDX
cdc/nos2.source/opl.opl871/common/comfcid.txt ยท Last modified: by 127.0.0.1