X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fz80%2Fgen.h;h=2512bd65e2c517c8b85a867db349493e97440b5b;hb=50e0e555b538d1018287ade0845db95d4be8004d;hp=902e11f0b356d5e260123d6f9d4a06e5913f6b1f;hpb=d80ddef2ffb8b3106c54e91b3bcd9e1ab277a9dc;p=fw%2Fsdcc diff --git a/src/z80/gen.h b/src/z80/gen.h index 902e11f0..2512bd65 100644 --- a/src/z80/gen.h +++ b/src/z80/gen.h @@ -22,8 +22,8 @@ what you give them. Help stamp out software-hoarding! -------------------------------------------------------------------------*/ -#ifndef SDCCGEN51_H -#define SDCCGEN51_H +#ifndef Z80GEN_H +#define Z80GEN_H typedef enum { @@ -51,7 +51,15 @@ typedef enum /* Is in A */ AOP_ACC, /* Is in H and L */ - AOP_HLREG + AOP_HLREG, + /* Simple literal. */ + AOP_SIMPLELIT, + /* Is in the extended stack pointer (IY on the Z80) */ + AOP_EXSTK, + /* Is referenced by a pointer in a register pair. */ + AOP_PAIRPTR, + /* Read as 0, discard writes */ + AOP_DUMMY } AOP_TYPE; @@ -63,9 +71,11 @@ typedef struct asmop AOP_TYPE type; 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 */ + unsigned code:1; /* is in Code space */ + unsigned paged:1; /* in paged memory */ + unsigned freed:1; /* already freed */ + unsigned bcInUse:1; + unsigned deInUse:1; union { value *aop_lit; /* if literal */ @@ -74,12 +84,15 @@ typedef struct asmop char *aop_immd; /* if immediate others are implied */ int aop_stk; /* stack offset when AOP_STK */ const char *aop_str[4]; /* just a string array containing the location */ + unsigned long aop_simplelit; /* Just the value. */ + int aop_pairId; /* The pair ID */ } aopu; } asmop; void genZ80Code (iCode *); +void z80_emitDebuggerSymbol (char *); #endif