* 721 Berkeley St.
* Kent, Ohio 44240
*
- * 28-Oct-97 JLH:
+ * 28-Oct-97 JLH:
* - add proto for StoreString
* - change s_id from [NCPS] to pointer
* - change m_id from [NCPS] to pointer
/* NB: for Flat24 extentions to work, Addr_T must be at least 24
- * bits. This is checked at runtime when the .flat24 directive
+ * bits. This is checked at runtime when the .flat24 directive
* is processed.
*/
typedef unsigned int Addr_T;
struct area *a_ap; /* Area link */
char a_id[NCPS]; /* Area Name */
int a_ref; /* Ref. number */
+ Addr_T a_addr; /* Area address */
Addr_T a_size; /* Area size */
Addr_T a_fuzz; /* Area fuzz */
int a_flag; /* Area flags */
#define A_XDATA 0100 /* external data space */
#define A_BIT 0200 /* bit addressable space */
+#define A_NOLOAD 0400 /* nonloadable */
+#define A_LOAD 0000 /* loadable (default) */
+
/*
* The "R_" relocation constants define values used in
* generating the assembler relocation output data for
#define R_LSB 0x00 /* low byte */
#define R_MSB 0x80 /* high byte */
-#define R_BYT3 0x100 /* if R_BYTE is set, this is a
+#define R_BYT3 0x100 /* if R_BYTE is set, this is a
* 3 byte address, of which
* the linker must select one byte.
*/
struct area *s_area; /* Area line, 0 if absolute */
int s_ref; /* Ref. number */
Addr_T s_addr; /* Address */
+ Addr_T s_org; /* Start Address if absolute */
};
#define S_GBL 01 /* Global */
#define S_ASCIS 26 /* .ascis */
#define S_FLAT24 27 /* .flat24 */
#define S_OPTSDCC 28 /* .optsdcc */
-
+#define S_ULEB128 29 /* .uleb128 */
+#define S_SLEB128 30 /* .sleb128 */
/*
* The tsym structure is a linked list of temporary
*/
extern char stb[NSBTL]; /* Subtitle string buffer
*/
-extern char optsdcc[NINPUT]; /* sdcc compile options
+extern char optsdcc[NINPUT]; /* sdcc compile options
*/
-extern int flat24Mode; /* non-zero if we are using DS390 24 bit
- * flat mode (via .flat24 directive).
+extern int flat24Mode; /* non-zero if we are using DS390 24 bit
+ * flat mode (via .flat24 directive).
*/
extern char symtbl[]; /* string "Symbol Table"
*/
* ASCII character
*/
-extern char ccase[128]; /* an array of characters which
+extern char ccase[128]; /* an array of characters which
* perform the case translation function
*/
/*
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();
extern VOID out_t24(int);
extern VOID outr11(); /* JLH */
extern VOID outr19(struct expr *, int, int);
+extern VOID outdp(struct area *, struct expr *);
/* asstore.c */
extern char *StoreString( char *str );
extern char * cpu;
extern char * dsft;
-extern int hilo;
+extern int hilo;
extern struct mne mne[];
/* Machine dependent functions */
extern VOID minit();
-extern VOID machine(struct mne *);
+extern VOID machine(struct mne *);
+
+/* strcmpi.c */
+extern int as_strcmpi(const char *s1, const char *s2);
+extern int as_strncmpi(const char *s1, const char *s2, size_t n);