V10/cmd/kasb/kas.h

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

/* @(#)kas.h	1.2 */
#define	NINST	100
#define	NSYM	500
#define	NHASH	(NSYM+NINST)
#define	NCPS	8
#define	NKMCI	4096
#define	NKMCD	4096

/*
 * Symbol types
 */
#define	XUNDEF	0x0
#define	XABS	0x1000
#define	XTEXT	0x2000
#define	XDATA	0x3000
#define	XREG	0x4000
#define	XTAG	0x8000
#define	XTYPE	0x7000

#define	DSTEP	1
#define	DSTOP	4
#define	DRESET	5
#define	DRUN	6
#define	DWCSR	8
#define	DCLEAR	9
#define	DREGS	10
#define	DLOAD	11
#define	DDUMP	12

#define	TBRG	01
#define	TMAR	06

#define	RLCMV	0
#define	RLCPOP	020000
#define	RLCPG	040000
#define	RLCBR	060000
#define	RLCMASK	070000
#define	RLUSE	0100000
#define	RLBUP	077777
#define	RLNEXT	07777

#define	ERR	(-1)

#define	SRCREGL	(1<<13)
#define	SRCMEM	(2<<13)
#define	SRCBRG	(3<<13)
#define	SRCREGH	(5<<13)
#define	SRCPCL	(10)
#define	SRCPCH	(11)
#define	SRCMARL	(12)
#define	SRCMARH	(13)

#define	SELA	(8<<4)
#define	SELB	(9<<4)

#define	DSTBRG	(1<<8)
#define	DSTREGH	(2<<8)
#define	DSTBGRS	(3<<8)
#define	DSTREGL	(4<<8)
#define	DSTMEM	(5<<8)
#define	DSTREG	(6<<8)
#define	DSTBREG	(7<<8)
#define	DSTMARP	(1<<11)
#define	DSTMAR	(2<<11)
#define	DSTMARI	(3<<11)
#define	DSTPCH	(11)

struct	symtab {
	char	name[NCPS];
	int	type;
	int	value;
};

struct	exp {
	int	xtype;
	int	xvalue;
};

extern struct	symtab	symtab[NSYM];
extern struct	symtab	*hshtab[NHASH];
extern struct	symtab	loclab[10];
extern struct	symtab	*dot;
extern	lineno;
extern	tsize;
extern	dsize;
extern	anyerrs;
extern	textsv, datasv;
extern char	dbmode;
extern char	*outfile, *dbfile, *infile;
extern	dbfd;
extern	dbtab[3];
extern char	dbstr[50], instr[50];
extern struct	symtab	instab[];
extern short	ispace[NKMCI], reloc[NKMCI];
extern char	dspace[NKMCD];
struct	symtab	**lookup();

struct ir {
	char	csr[8];
	char	lur[8];
	char	reg[16];
	char	io[8];
	char	npr[2];
	char	brg;
	char	mem;
	char	fill[4];
};
extern struct ir ir;