summary |
tags |
clone url |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1372f8b)
SCCS-vsn: old/as.vax/as.h 4.2
SCCS-vsn: old/as.vax/asscan.c 4.2
#define NEXP 20 /* max number of expr. terms per instruction */
#define NARG 6 /* max number of args per instruction */
#define NHASH 1103 /* hash table is dynamically extended */
#define NEXP 20 /* max number of expr. terms per instruction */
#define NARG 6 /* max number of args per instruction */
#define NHASH 1103 /* hash table is dynamically extended */
-#define TNAMESIZE 32 /* maximum length of temporary file names */
+#define TNAMESIZE 32 /* maximum length of temporary file names */
#define NLOC 4 /* number of location ctrs */
#ifdef UNIX
#define NLOC 4 /* number of location ctrs */
#ifdef UNIX
/*
* Actual argument syntax types
*/
/*
* Actual argument syntax types
*/
-#define AREG 1 /* %r */
-#define ABASE 2 /* (%r) */
-#define ADECR 3 /* -(%r) */
-#define AINCR 4 /* (%r)+ */
-#define ADISP 5 /* expr(%r) */
-#define AEXP 6 /* expr */
-#define AIMM 7 /* $ expr */
-#define ASTAR 8 /* * */
-#define AINDX 16 /* [%r] */
+#define AREG 1 /* %r */
+#define ABASE 2 /* (%r) */
+#define ADECR 3 /* -(%r) */
+#define AINCR 4 /* (%r)+ */
+#define ADISP 5 /* expr(%r) */
+#define AEXP 6 /* expr */
+#define AIMM 7 /* $ expr */
+#define ASTAR 8 /* * */
+#define AINDX 16 /* [%r] */
/*
* Argument access types used to test validity of operands to operators
*/
/*
* Argument access types used to test validity of operands to operators
*/
-#define ACCA (8<<3) /* address only */
-#define ACCR (1<<3) /* read */
-#define ACCW (2<<3) /* write */
-#define ACCM (3<<3) /* modify */
-#define ACCB (4<<3) /* branch displacement */
-#define ACCI (5<<3) /* XFC code */
+#define ACCA (8<<3) /* address only */
+#define ACCR (1<<3) /* read */
+#define ACCW (2<<3) /* write */
+#define ACCM (3<<3) /* modify */
+#define ACCB (4<<3) /* branch displacement */
+#define ACCI (5<<3) /* XFC code */
/*
* Argument data types
*/
/*
* Argument data types
*/
-#define TYPB 0 /* byte */
-#define TYPW 1 /* word */
-#define TYPL 2 /* long */
-#define TYPQ 3 /* quad */
-#define TYPF 4 /* floating */
-#define TYPD 5 /* double floating */
+#define TYPB 0 /* byte */
+#define TYPW 1 /* word */
+#define TYPL 2 /* long */
+#define TYPQ 3 /* quad */
+#define TYPF 4 /* floating */
+#define TYPD 5 /* double floating */
/* reference types for loader */
/* reference types for loader */
-#define PCREL 1
-#define LEN1 2
-#define LEN2 4
-#define LEN4 6
-#define LEN8 8
+#define PCREL 1
+#define LEN1 2
+#define LEN2 4
+#define LEN4 6
+#define LEN8 8
/*
* reflen table converts between LEN* and PCREL to numbers
* of bytes.
* lgreflen table is the lg base 2 of the values in reflen.
*/
extern int reflen[]; /* reference lengths */
/*
* reflen table converts between LEN* and PCREL to numbers
* of bytes.
* lgreflen table is the lg base 2 of the values in reflen.
*/
extern int reflen[]; /* reference lengths */
- extern int lgrefltn[]; /* lg reference lengths */
+ extern int lgreflen[]; /* lg reference lengths */
#define TMPC 7
#define HW 01
#define TMPC 7
#define HW 01
#define round(x,y) (((x)+(y)) & ~(y))
#define STABTYPS 0340
#define round(x,y) (((x)+(y)) & ~(y))
#define STABTYPS 0340
/*
* Follows are the definitions for the symbol table tags, which are
/*
* Follows are the definitions for the symbol table tags, which are
* must get turned into their long form.
*/
* must get turned into their long form.
*/
# define JXACTIVE 0xFF /*jxxx size unknown*/
# define JXNOTYET 0xFE /*jxxx size known, but not yet expanded*/
# define JXALIGN 0xFD /*align jxxx entry*/
# define JXINACTIVE 0xFC /*jxxx size known and expanded*/
# define JXACTIVE 0xFF /*jxxx size unknown*/
# define JXNOTYET 0xFE /*jxxx size known, but not yet expanded*/
# define JXALIGN 0xFD /*align jxxx entry*/
# define JXINACTIVE 0xFC /*jxxx size known and expanded*/
-#define JXQUESTIONABLE 0xFB
+#define JXQUESTIONABLE 0xFB
# define JXTUNNEL 0xFA /*jxxx that jumps to another*/
# define OBSOLETE 0xF9 /*erroneously entered symbol*/
# define JXTUNNEL 0xFA /*jxxx that jumps to another*/
# define OBSOLETE 0xF9 /*erroneously entered symbol*/
/* Copyright (c) 1980 Regents of the University of California */
/* Copyright (c) 1980 Regents of the University of California */
-static char sccsid[] = "@(#)asscan.c 4.1 %G%";
+static char sccsid[] = "@(#)asscan.c 4.2 %G%";
#include <stdio.h>
#include <sys/types.h>
#include "as.h"
#include <stdio.h>
#include <sys/types.h>
#include "as.h"
*/
#define HEXFLAG 01 /* 'x' or 'X' */
#define HEXLDIGIT 02 /* 'a' .. 'f' */
*/
#define HEXFLAG 01 /* 'x' or 'X' */
#define HEXLDIGIT 02 /* 'a' .. 'f' */
-#define HEXUDIGIT 04 /* 'A' .. 'F' */
+#define HEXUDIGIT 04 /* 'A' .. 'F' */
#define ALPHA 010 /* 'A' .. 'Z', 'a' .. 'z', '_'*/
#define ALPHA 010 /* 'A' .. 'Z', 'a' .. 'z', '_'*/
-#define DIGIT 020 /* '0' .. '9' */
+#define DIGIT 020 /* '0' .. '9' */
#define FLOATEXP 040 /* 'd' 'e' 'D' 'E' */
#define FLOATEXP 040 /* 'd' 'e' 'D' 'E' */
- /*exponent field*/
-#define SIGN 0100 /* '+' .. '-'*/
-#define REGDIGIT 0200 /* '0' .. '5' */
-#define SZSPECBEGIN 0400 /* 'b', 'B', 'l', 'L', 'w', 'W' */
-#define POINT 01000 /* '.' */
-#define SPACE 02000 /* '\t' or ' ' */
-#define BSESCAPE 04000 /* bnrtf */
-#define STRESCAPE 010000 /* '"', '\\', '\n' */
-#define OCTDIGIT 020000 /* '0' .. '7' */
+#define SIGN 0100 /* '+' .. '-'*/
+#define REGDIGIT 0200 /* '0' .. '5' */
+#define SZSPECBEGIN 0400 /* 'b', 'B', 'l', 'L', 'w', 'W' */
+#define POINT 01000 /* '.' */
+#define SPACE 02000 /* '\t' or ' ' */
+#define BSESCAPE 04000 /* bnrtf */
+#define STRESCAPE 010000 /* '"', '\\', '\n' */
+#define OCTDIGIT 020000 /* '0' .. '7' */
#define FLOATFLAG 040000 /* 'd', 'D', 'f', 'F' */
/*after leading 0*/
#define FLOATFLAG 040000 /* 'd', 'D', 'f', 'F' */
/*after leading 0*/
ALPHA+HEXFLAG, ALPHA, ALPHA, 0,0, 0, 0, 0, /*x..del*/
0};
ALPHA+HEXFLAG, ALPHA, ALPHA, 0,0, 0, 0, 0, /*x..del*/
0};
-#define INCHARSET(val, kind) (charsets[val] & (kind) )
+#define INCHARSET(val, kind) (charsets[val] & (kind) )
static toktype oval = NL;
#define NINBUFFERS 2
static toktype oval = NL;
#define NINBUFFERS 2
static char inbuffer[INBUFLG];
static char *InBufPtr = 0;
static char inbuffer[INBUFLG];
static char *InBufPtr = 0;
-#ifdef getchar
-#undef getchar
+#ifdef getchar
+#undef getchar
-#define getchar() *inbufptr++
+#define getchar() *inbufptr++
-#ifdef ungetc
-#undef ungetc
+#ifdef ungetc
+#undef ungetc
#endif
#define ungetc(char) *--inbufptr = char
#endif
#define ungetc(char) *--inbufptr = char