* as/as_gbz80.dsp, as/z80/as_gbz80.dsp,
[fw/sdcc] / as / hc08 / asm.h
index c145aae46c3f44834002cf7dbb758aa2848464ea..81881bdf374cc3914b9a98bf0b87cc357dab7a5b 100644 (file)
@@ -8,7 +8,7 @@
  * 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;
@@ -145,6 +145,7 @@ struct      area
        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 */
@@ -175,6 +176,9 @@ struct      area
 #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
@@ -210,7 +214,7 @@ struct      area
 #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.
                                 */
@@ -292,6 +296,7 @@ struct      sym
        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 */
@@ -329,7 +334,8 @@ struct      sym
 #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
@@ -479,10 +485,10 @@ extern    char    tb[NTITL];      /*      Title string buffer
                                 */
 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"
                                 */
@@ -504,7 +510,7 @@ extern      unsigned char   ctype[128];     /*      array of character types, one per
                                 *      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
                                 */
 /*
@@ -588,7 +594,7 @@ extern      VOID            usage();
 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();
@@ -671,10 +677,14 @@ extern void DefineCDB_Line();
 
 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);