1987-01-15 18:12:26 +00:00
|
|
|
/* $Header$ */
|
1987-07-07 16:31:16 +00:00
|
|
|
#include <stdio.h>
|
1987-01-15 18:12:26 +00:00
|
|
|
#include <em_spec.h>
|
|
|
|
#include <em_mnem.h>
|
|
|
|
#include <em_pseu.h>
|
|
|
|
#include <em_flag.h>
|
|
|
|
#include <em_ptyp.h>
|
|
|
|
#include <em_mes.h>
|
|
|
|
#include <alloc.h>
|
|
|
|
#include <em.h>
|
|
|
|
#include <em_comp.h>
|
|
|
|
#include <system.h>
|
1987-07-09 09:02:41 +00:00
|
|
|
#include <emO_code.h>
|
1987-01-15 18:12:26 +00:00
|
|
|
|
1987-07-10 14:16:32 +00:00
|
|
|
#define OTHER 0
|
|
|
|
#define op_lab sp_fpseu
|
|
|
|
|
|
|
|
typedef struct e_instr *p_instr;
|
1987-01-15 18:12:26 +00:00
|
|
|
|
1987-07-07 16:31:16 +00:00
|
|
|
#define FLUSHDFA() if(OO_state) {\
|
|
|
|
*OO_nxtpatt++ = OO_OTHER; OO_dfa(OTHER);\
|
|
|
|
} else if(OO_noutput) OO_flush();
|
1987-01-15 18:12:26 +00:00
|
|
|
|
1987-07-13 10:07:33 +00:00
|
|
|
#define GETINSTR() ((p_instr)st_alloc((char **)&OO_freeq,sizeof(struct e_instr),20))
|
|
|
|
#define OO_free(p) st_free((p),&OO_freeq,sizeof(struct e_instr))
|
1987-01-15 18:12:26 +00:00
|
|
|
|
1987-07-13 10:07:33 +00:00
|
|
|
extern p_instr OO_freeq;
|
1987-07-07 16:31:16 +00:00
|
|
|
extern p_instr *OO_patternqueue;
|
|
|
|
extern p_instr *OO_nxtpatt;
|
|
|
|
extern p_instr *OO_bkupqueue;
|
|
|
|
extern p_instr *OO_nxtbackup;
|
|
|
|
extern p_instr OO_OTHER;
|
|
|
|
extern int OO_state;
|
|
|
|
extern int OO_noutput; /* number of instructions in output queue */
|
1987-07-09 15:04:03 +00:00
|
|
|
extern arith OO_WSIZE; /* wordlength */
|
|
|
|
extern arith OO_PSIZE; /* pointer length */
|
1987-01-15 18:12:26 +00:00
|
|
|
#ifdef STATS
|
1987-07-07 16:31:16 +00:00
|
|
|
extern int OO_wrstats; /* statistics output */
|
1987-01-15 18:12:26 +00:00
|
|
|
#endif
|
|
|
|
|
1987-07-07 16:31:16 +00:00
|
|
|
extern char *OO_freestr();
|
1987-07-09 15:04:03 +00:00
|
|
|
extern arith OO_rotate();
|
|
|
|
extern arith OO_offset();
|
1987-07-07 16:31:16 +00:00
|
|
|
|
|
|
|
#define CST(p) (p->em_cst)
|
|
|
|
#define PNAM(p) (p->em_pnam)
|
|
|
|
#define LAB(p) (p->em_ilb)
|
|
|
|
#define DEFILB(p) (p->em_ilb)
|
|
|
|
|