* as/z80/z80mch.c: fixed bug #1704376: missing as-z80 errors
[fw/sdcc] / src / avr / gen.h
index fe5740d259cd8fb6939dc15ad1db13e033c0b751..89ca931dbced0add7cfd3ab6aeb2da1e8de5a14d 100644 (file)
 #ifndef SDCCGEN51_H
 #define SDCCGEN51_H
 
-enum {
+enum
+  {
     AOP_LIT = 1,
-    AOP_REG, AOP_DIR, 
-    AOP_DPTR,AOP_X,AOP_Z,
-    AOP_STK ,AOP_IMMD, AOP_STR,
-    AOP_CRY, AOP_ACC , AOP_STK_D};
+    AOP_REG, AOP_DIR,
+    AOP_DPTR, AOP_X, AOP_Z,
+    AOP_STK, AOP_IMMD, AOP_STR,
+    AOP_CRY, AOP_ACC, AOP_STK_D
+  };
 
 /* type asmop : a homogenised type for 
    all the different spaces an operand can be
    in */
-typedef struct asmop {
-    
-    short type ;  /* can have values
-                    AOP_LIT    -  operand is a literal value
-                    AOP_REG    -  is in registers
-                    AOP_DIR    -  direct just a name
-                    AOP_DPTR   -  dptr contains address of operand
-                    AOP_R0/R1  -  r0/r1 contains address of operand               
-                    AOP_STK    -  should be pushed on stack this
-                                  can happen only for the result
-                    AOP_IMMD   -  immediate value for eg. remateriazable 
-                    AOP_CRY    -  carry contains the value of this
-                    AOP_STR    -  array of strings
-                    AOP_ACC    -  result is in the acc:b pair
-                 */
-    short coff ;  /* current offset */
-    short size ;  /* total size */
-    unsigned code :1 ;         /* is in Code space */
-    unsigned paged:1 ;         /* in paged memory  */
-    unsigned freed:1 ;         /* already freed    */
-    union {
-       value *aop_lit ;       /* if literal */
-       regs  *aop_reg[4];     /* array of registers */
-       char  *aop_dir ;       /* if direct  */
-       regs  *aop_ptr ;       /* either -> R26 or R30 */
-       char  *aop_immd;       /* if immediate others are implied */    
-       int    aop_stk ;       /* stack offset when AOP_STK */
-       char  *aop_str[4];     /* just a string array containing the location */
-    } aopu;
-    regs  *aop_ptr2;       /* either -> R27 or R31 */
-} asmop;
+typedef struct asmop
+  {
 
-void gen51Code (iCode *);
+    short type;                        /* can have values
+                                  AOP_LIT    -  operand is a literal value
+                                  AOP_REG    -  is in registers
+                                  AOP_DIR    -  direct just a name
+                                  AOP_DPTR   -  dptr contains address of operand
+                                  AOP_R0/R1  -  r0/r1 contains address of operand               
+                                  AOP_STK    -  should be pushed on stack this
+                                  can happen only for the result
+                                  AOP_IMMD   -  immediate value for eg. remateriazable 
+                                  AOP_CRY    -  carry contains the value of this
+                                  AOP_STR    -  array of strings
+                                  AOP_ACC    -  result is in the acc:b pair
+                                */
+    short coff;                        /* current offset */
+    short size;                        /* total size */
+    unsigned code:1;           /* is in Code space */
+    unsigned paged:1;          /* in paged memory  */
+    unsigned freed:1;          /* already freed    */
+    union
+      {
+       value *aop_lit;         /* if literal */
+       regs *aop_reg[4];       /* array of registers */
+       char *aop_dir;          /* if direct  */
+       regs *aop_ptr;          /* either -> R26 or R30 */
+       char *aop_immd;         /* if immediate others are implied */
+       int aop_stk;            /* stack offset when AOP_STK */
+       char *aop_str[4];       /* just a string array containing the location */
+      }
+    aopu;
+    regs *aop_ptr2;            /* either -> R27 or R31 */
+  }
+asmop;
+
+void genAVRCode (iCode *);
+void avr_emitDebuggerSymbol (char *);
 
 extern char *fReturn8051[];
 extern char *fReturn390[];