/* $Header$ */ /* DESCRIPTION OF INTERFACE TO EM CODE GENERATING ROUTINES */ #include "proc_intf.h" /* use macros or functions */ /* include the EM description files */ #include #include #include #include #include /* macros used in the definitions of the interface functions C_* */ #define OP(x) put_op(x) #define CST(x) put_cst(x) #define DCST(x) put_cst(x) #define CSTR(x) put_cstr(x) #define PS(x) put_ps(x) #define DLB(x) put_dlb(x) #define ILB(x) put_ilb(x) #define NOFF(x,y) put_noff((x), (y)) #define DOFF(x,y) put_doff((x), (y)) #define PNAM(x) put_pnam(x) #define DNAM(x) put_dnam(x) #define CEND() put_cend() #define WCON(x,y,z) put_wcon((x), (y), (z)) #define FCON(x,y) put_fcon((x), (y)) /* variants of primitive "putbyte" */ #define put8(x) putbyte(x) /* defined in "em.c" */ #define put16(x) (put8((int) x), put8((int) (x >> 8))) #define put32(x) (put16((int) x), put16((int) (x >> 16))) #define put_cend() put8(sp_cend) #define put_op(x) put8(x) #define put_ps(x) put8(x) /* user interface */ #define C_magic() put16(sp_magic) /* EM magic word */ #ifndef PROC_INTF #include "writeem.h" #endif PROC_INTF