Annotation of researchv10no/cmd/spitbol/cint/osint.h, revision 1.1.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.