h41029
s 00098/00000/00000
d D 1.1 82/08/02 15:15:33 cecily 1 0
e
u
U
t
T
I 1
#include "machine.h"
/*
 *	UNIX debugger
 */

#define MAXCOM	64
#define MAXARG	32
#define LINSIZ	256
TYPE	int		INT;
TYPE	int		VOID;
TYPE	long int	L_INT;
TYPE	short	 	S_INT;
TYPE	float		REAL;
TYPE	double		L_REAL;
TYPE	unsigned	POS;
TYPE	char		BOOL;
TYPE	char		CHAR;
TYPE	char		*STRING;
TYPE	char		MSG[];
TYPE	struct map	MAP;
TYPE	MAP		*MAPPTR;
TYPE	struct symtab	SYMTAB;
TYPE	SYMTAB		*SYMPTR;
TYPE	struct symslave SYMSLAVE;
TYPE	struct bkpt	BKPT;
TYPE	BKPT		*BKPTR;


/* file address maps */
struct map {
	L_INT	b1;
	L_INT	e1;
	L_INT	f1;
	L_INT	b2;
	L_INT	e2;
	L_INT	f2;
	INT	ufd;
};


/* slave table for symbols */
struct symslave {
	SYMV	valslave;
	INT	typslave;
};

struct bkpt {
	INT	loc;
	INT	ins;
	INT	count;
	INT	initcnt;
	INT	flag;
	CHAR	comm[MAXCOM];
	BKPT	*nxtbkpt;
};

TYPE	struct reglist	REGLIST;
TYPE	REGLIST		*REGPTR;
struct reglist {
	STRING	rname;
	INT	roffs;
};

/*
 * Floating point registers in U area
 */
#ifdef interdata
struct {
	INT	junk[17];
	L_REAL	Lfr[8];
	REAL	Sfr[8];
};
#else
struct {
	INT	junk[2];
	INT	fpsr;
	REAL	Sfr[6];
};

struct {
	INT	junk[2];
	INT	fpsr;
	L_REAL	Lfr[6];
};
#endif

#ifdef interdata
/*
 * structure for information about disassembled instruction
 */
TYPE	struct instr	INSTR;
struct instr {
	INT	type;		/* instruction format	*/
	CHAR	op;		/* opcode	*/
	CHAR	reg[3];		/* registers	*/
	INT	disp;		/* displacement */
};
#endif
E 1
