/* #define NCPS 32 */ /* Chars. per symbol */
#define HUGE 1000 /* A huge number */
#define NERR 3 /* Errors per line */
-#define NINPUT 128 /* Input buffer size */
+#define NINPUT 1024 /* Input buffer size */
#define NCODE 128 /* Listing code buffer size */
#define NTITL 64 /* Title buffer size */
#define NSBTL 64 /* SubTitle buffer size */
#define MAXFIL 6 /* Maximum command line input files */
#define MAXINC 6 /* Maximum nesting of include files */
#define MAXIF 10 /* Maximum nesting of if/else/endif */
-#define FILSPC 80 /* Chars. in filespec */
+#define FILSPC 256 /* Chars. in filespec */
#define NLIST 0 /* No listing */
#define SLIST 1 /* Source only */
#define dca area[0] /* Dca, default code area */
-typedef unsigned int addr_t;
+typedef unsigned int Addr_T;
/*
* The area structure contains the parameter values for a
struct area *a_ap; /* Area link */
char a_id[NCPS]; /* Area Name */
int a_ref; /* Ref. number */
- addr_t a_size; /* Area size */
- addr_t a_fuzz; /* Area fuzz */
+ Addr_T a_size; /* Area size */
+ Addr_T a_fuzz; /* Area fuzz */
int a_flag; /* Area flags */
};
char m_id[NCPS]; /* Mnemonic */
char m_type; /* Mnemonic subtype */
char m_flag; /* Mnemonic flags */
- addr_t m_valu; /* Value */
+ Addr_T m_valu; /* Value */
};
/*
char s_flag; /* Symbol flags */
struct area *s_area; /* Area line, 0 if absolute */
int s_ref; /* Ref. number */
- addr_t s_addr; /* Address */
+ Addr_T s_addr; /* Address */
};
#define S_GBL 01 /* Global */
#ifdef SDK
# define S_FLOAT 27 /* .df */
#endif
+#define S_OPTSDCC 28 /* .optsdcc */
/*
* The tsym structure is a linked list of temporary
int t_num; /* 0-lots$ */
char t_flg; /* flags */
struct area *t_area; /* Area */
- addr_t t_addr; /* Address */
+ Addr_T t_addr; /* Address */
};
/*
*/
extern int fflag; /* -f(f), relocations flagged flag
*/
-extern addr_t laddr; /* address of current assembler line
+extern Addr_T laddr; /* address of current assembler line
* or value of .if argument
*/
-extern addr_t fuzz; /* tracks pass to pass changes in the
+extern Addr_T fuzz; /* tracks pass to pass changes in the
* address of symbols caused by
* variable length instruction formats
*/
*/
extern char stb[NSBTL]; /* Subtitle string buffer
*/
+extern char optsdcc[NINPUT]; /* sdcc compile options
+ */
extern char symtbl[]; /* string "Symbol Table"
*/
extern char aretbl[]; /* string "Area Table"
*/
extern FILE *ifp[MAXINC]; /* array of include-file file handles
*/
-extern char ctype[128]; /* array of character types, one per
+extern unsigned char ctype[128]; /* array of character types, one per
* ASCII character
*/
{
char e_mode; /* Address mode */
char e_flag; /* Symbol flag */
- addr_t e_addr; /* Address */
+ Addr_T e_addr; /* Address */
union {
struct area *e_ap;
struct sym *e_sp;
extern char endline();
extern char get();
extern VOID getid();
-extern int getline();
+extern int as_getline();
extern int getmap();
extern char getnb();
extern VOID getst();
/* asexpr.c */
extern VOID abscheck();
-extern addr_t absexpr();
+extern Addr_T absexpr();
extern VOID clrexpr();
extern int digit();
extern int is_abs();
/* Machine dependent functions */
-extern VOID machin();
extern VOID minit();