* Header for object code improver
JBR
, CBR
, JMP
, LABEL
, DLABEL
, EROU
, JSW
,
MOV
, CLR
, INC
, DEC
, TST
, PUSH
, CVT
, MOVZ
,
CMP
, ADD
, SUB
, BIT
, AND
, OR
, XOR
, COM
,
NEG
, EMUL
, MUL
, DIV
, EDIV
, SHAL
, SHAR
,
SHL
, SHR
, CALLF
, CALLS
, CASE
, ADDA
, SUBA
,
AOBLEQ
, AOBLSS
, MOVA
, PUSHA
, LDF
, LNF
, STF
,
CMPF
, CMPF2
, TSTF
, PUSHD
, CVLF
, CVFL
, LDFD
,
CVDF
, NEGF
, ADDF
, SUBF
, MULF
, DIVF
, SINF
,
COSF
, ATANF
, LOGF
, SQRTF
, EXPF
, MOVBLK
,
MFPR
, MTPR
, PROBE
, MOVO
, TEXT
, DATA
, BSS
,
ALIGN
, END
, LGEN
, WGEN
, SET
, LCOMM
, COMM
#define ord(e) ((int)(e))
/* rearranged for unsigned branches so that jxxu = jxx + 6 */
#define has2ops(p) (((p)->subop>>4) == OP2)
#define has3ops(p) (((p)->subop>>4) == OP3)
/* #define T(a,b) (a|((b)<<8)) NUXI problems */
#define U(a,b) (a|((b)<<4))
/* struct { NUXI problems
/* 0-12, f.p. accumulator, 4 for operands, 1 for running off end */
#define tempreg(s,r) ((unsigned)((r)=isreg(s)) < NUSE)
struct node
*uses
[NUSE
+ 7]; /* for backwards flow analysis */
struct node
*useacc
; /* same for acc */
char *lastrand
; /* last operand of instruction */