2007-11-17 Borut Razem <borut.razem AT siol.net>
[fw/sdcc] / as / mcs51 / asm.h
index 415250be051a55d5d0d3c615f7dc6823bde17d1c..3dd84bce187e693e0ecc0b4ebff20f0e189eef1c 100644 (file)
 #endif
 #endif
 
+#ifdef _WIN32       /* WIN32 native */
+
+#  define NATIVE_WIN32          1
+#  ifdef __MINGW32__  /* GCC MINGW32 depends on configure */
+#    include "../../sdccconf.h"
+#  else
+#    include "../../sdcc_vc.h"
+#    define PATH_MAX  _MAX_PATH
+#  endif
+
+#else               /* Assume Un*x style system */
+#  include "../../sdccconf.h"
+#endif
+
 /*
  * Assembler definitions.
  */
@@ -145,6 +159,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 */
@@ -296,6 +311,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 */
@@ -593,7 +609,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();
@@ -607,6 +623,7 @@ extern  struct  mne *   mlookup();
 extern  int             hash();
 extern  struct  sym *   lookup();
 extern  VOID *          new();
+extern  char *          strsto(char *str);
 extern  int             symeq();
 extern  VOID            syminit();
 extern  VOID            symglob();
@@ -681,4 +698,8 @@ 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);