V10/cmd/PDP11/11as/as2.h

Compare this file to the similar file:
Show the results in this format:

#include <stdio.h>

#define eae 0

#define NCPS 8
#define BSYM 01000		/* builtin symbol */
#define USYM 04000		/* user symbol */

struct expr {
	short typ;
	short val;
};

typedef union {
	struct expr *xp;
	unsigned uv;
	int v;
} OP;

extern	struct expr expres();
extern	OP readop();
extern	OP savop;
extern	OP lastop;

#define LAST(c) (lastop.v==(c))
#define ISCHAR(x) ((x).uv<0200)

struct hdr {
	short	magic;
	short	txtsiz;
	short	datsiz;
	short	bsssiz;
	short	symsiz;
	short	entry;
	short	flag;
	short	dummy;
};
extern struct hdr hdr;

#define T_UNDEF	0
#define T_ABS	1
#define T_TEXT	2
#define T_DATA	3
#define T_BSS	4
#define T_FLOPD	5
#define T_BRANCH	6
#define T_JSR	7
#define T_RTS	010
#define T_SYS	011
#define T_MOVF	012
#define T_DOUBLE	013
#define T_FLOPF	014
#define T_SINGLE	015
#define T_BYTE	016
#define T_STRING	017
#define T_EVEN	020
#define T_IF	021
#define T_ENDIF	022
#define T_GLOBL	023
#define T_REG	024
#define T__TEXT	025
#define T__DATA	026
#define T__BSS	027
#define T_MUL	030
#define T_SOB	031
#define T_COMM	032
#define T_ESTTXT	033
#define T_ESTDAT	034
#define T_JBR	035
#define T_JXX	036

#define T_EXTERN	040
#define R_EXTERN	5
#define PCREL	0100000


extern	short *dot;
extern	short *dotdot;
extern	short *dotrel;
extern	short savdot[3];
extern	long tseek[2];
extern	long rseek[2];
extern	struct expr *curfb[20];
extern	struct expr *usymtab;
extern	struct expr *usymend;
extern	struct expr *xsymbol;
extern	struct expr *fbbuf;
extern	FILE *txtf,*relf;
extern	char argb[20];
extern	int outmod;
extern	int passno;
extern	int errflg;
extern	int line;
extern	int ifflg;
extern	int numval;
extern	int brdelt;