Annotation of researchv10no/cmd/spitbol/cint/osint.h, revision 1.1

1.1     ! root        1: /*
        !             2: /   This header file defines the interface between the Macro SPITBOL compiler
        !             3: /   written in assembly langauge and the OS interface written in C.
        !             4: /   Communication between the two is handled via a set of global variables 
        !             5: /   defined as externals below.
        !             6: */
        !             7: 
        !             8: /*
        !             9: /   Set up externals for all the compiler's registers.
        !            10: */
        !            11: 
        !            12: extern float   reg_ra;
        !            13: extern long    reg_cp, reg_ia, reg_wa, reg_wb, reg_wc, reg_xr, reg_xl;
        !            14: 
        !            15: /*
        !            16: /   Macros to fetch a value of appropriate type from a compiler register
        !            17: */
        !            18: 
        !            19: #define RA(type)       ((type) reg_ra)
        !            20: #define CP(type)       ((type) reg_cp)
        !            21: #define IA(type)       ((type) reg_ia)
        !            22: #define WA(type)       ((type) reg_wa)
        !            23: #define WB(type)       ((type) reg_wb)
        !            24: #define WC(type)       ((type) reg_wc)
        !            25: #define XR(type)       ((type) reg_xr)
        !            26: #define XL(type)       ((type) reg_xl)
        !            27: 
        !            28: /*
        !            29: /   Macros to set a value of appropriate type into a compiler register.
        !            30: */
        !            31: 
        !            32: #define SET_RA(val)    reg_ra = (float) (val)
        !            33: #define SET_CP(val)    reg_cp = (long) (val)
        !            34: #define SET_IA(val)    reg_ia = (long) (val)
        !            35: #define SET_WA(val)    reg_wa = (long) (val)
        !            36: #define SET_WB(val)    reg_wb = (long) (val)
        !            37: #define SET_WC(val)    reg_wc = (long) (val)
        !            38: #define SET_XR(val)    reg_xr = (long) (val)
        !            39: #define SET_XL(val)    reg_xl = (long) (val)
        !            40: 
        !            41: /*
        !            42: /   Return values to take exit N from interface
        !            43: */
        !            44: 
        !            45: #define EXIT_1         0
        !            46: #define EXIT_2         4
        !            47: #define EXIT_3         8
        !            48: #define EXIT_4         12
        !            49: #define EXIT_5         16
        !            50: #define EXIT_6         20
        !            51: #define EXIT_7         24
        !            52: #define EXIT_8         28
        !            53: #define EXIT_9         32
        !            54: 
        !            55: /*
        !            56: /    Return value to do a normal return from interface.
        !            57: */
        !            58: 
        !            59: #define NORMAL_RETURN  (-1)
        !            60: 
        !            61: /*
        !            62: /   Define length of temporary string in tscblk.  (Must be coordinated with
        !            63: /   vaxinter.s.
        !            64: */
        !            65: 
        !            66: #define TSCBLK_LENGTH  120

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.