aboutsummaryrefslogtreecommitdiff
path: root/sim/w65/interp.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-07-18 00:05:41 +0000
committerAndrew Cagney <cagney@redhat.com>2002-07-18 00:05:41 +0000
commitde0a1e42d0232c0bdb2bc086460b2c446448ef69 (patch)
treee8e9a4ab8d19b3216598aef558a38a70807b606b /sim/w65/interp.h
parent4b3aa338183943287159cfc3433c5db07ebe8df6 (diff)
downloadgdb-de0a1e42d0232c0bdb2bc086460b2c446448ef69.zip
gdb-de0a1e42d0232c0bdb2bc086460b2c446448ef69.tar.gz
gdb-de0a1e42d0232c0bdb2bc086460b2c446448ef69.tar.bz2
Delete w65 directory.
Diffstat (limited to 'sim/w65/interp.h')
-rw-r--r--sim/w65/interp.h194
1 files changed, 0 insertions, 194 deletions
diff --git a/sim/w65/interp.h b/sim/w65/interp.h
deleted file mode 100644
index 2fd5d22..0000000
--- a/sim/w65/interp.h
+++ /dev/null
@@ -1,194 +0,0 @@
-#define fetch8(x) fetch8func((cycles++,(x)))
-#define NFAKES 16
-typedef struct
- {
- unsigned a;
- unsigned x;
- unsigned y;
- unsigned pc; /* Keep pbr in there too */
- unsigned dbr;
- unsigned d;
- unsigned s;
- unsigned p;
- unsigned e;
- unsigned char *memory;
- unsigned int exception;
- unsigned int ticks;
- unsigned int cycles;
- unsigned int insts;
- unsigned int r[NFAKES];
- }
-saved_state_type;
-
-
-
-#define GET_P \
- ((GET_NBIT << 7) \
- | (GET_VBIT << 6) \
- | (GET_MBIT << 5) \
- | (GET_XBIT << 4) \
- | (GET_DBIT << 3) \
- | (GET_IBIT << 2) \
- | (GET_ZBIT << 1) \
- | (GET_CBIT << 0))
-
-#define SET_P(_bits) \
-{ int bits = _bits; \
-SET_NBIT((bits>>7)&1); \
-SET_VBIT((bits>>6)&1); \
-SET_MBIT((bits>>5)&1); \
-SET_XBIT((bits>>4)&1); \
-SET_DBIT((bits>>3)&1); \
-SET_IBIT((bits>>2)&1); \
-SET_ZBIT((bits>>1)&1); \
-SET_CBIT((bits>>0)&1); }
-
-#define BFLAG (1<<4)
-#define DFLAG (1<<3)
-
-#define GET_A (the_a)
-#define GET_E (the_e)
-#define GET_B (the_b)
-#define GET_CBIT (the_cbit)
-#define GET_D (the_d)
-#define GET_DBIT (the_dbit)
-#define GET_DBR_HIGH (the_dbr)
-#define GET_DBR_LOW (the_dbr >> 16)
-#define GET_DPR (the_dpr)
-#define GET_IBIT (the_ibit)
-#define GET_MBIT (the_mbit)
-#define SET_XBIT(x) { the_xbit = x; }
-#define GET_NBIT (the_nbit)
-#define GET_PBRPC (the_pc)
-#define GET_PBR_HIGH (the_pc & 0xff0000)
-#define GET_PBR_LOW (the_pc >> 16)
-#define GET_PC (the_pc & 0xffff)
-#define GET_S (the_s)
-#define GET_VBIT (the_vbit)
-#define GET_X (the_x)
-#define GET_XBIT (the_xbit)
-#define GET_Y (the_y)
-#define GET_ZBIT (the_zbit)
-#define IFLAG (1<<2)
-#define INC_PC(x) {the_pc += x;}
-#define POP16(x) { int _xx; POP8(x); POP8(_xx); x+= _xx<<8;}
-#define POP24(x) { int _xx; POP8(x); POP8(_xx); x += _xx << 8; POP8(_xx); x += _xx << 16; }
-#define POP8(x) { SET_S(GET_S +1); x = fetch8(GET_S);}
-#define PUSH16(x) { int _xx = x;PUSH8(_xx >> 8); PUSH8(_xx);}
-#define PUSH8(x) { store8(GET_S, x); SET_S(GET_S-1);}
-#define SET_A(x) { the_a = x & AMASK; }
-#define SET_B(x) { the_b = x;}
-#define SET_CBIT(x) { the_cbit = x;}
-#define SET_CBIT_M(x) { the_cbit = (x & (GET_MBIT ? 0x100: 0x10000)) != 0;}
-#define SET_CBIT_X(x) { the_cbit = (x & (GET_XBIT ? 0x100: 0x10000)) != 0;}
-#define SET_D(x) {the_d = x;}
-#define SET_DBIT(x) { the_dbit= x;}
-#define SET_DBR_LOW(x) {the_dbr = (x<<16);}
-#define SET_DPR(x) { the_dpr = x;}
-#define SET_E(x) { the_e = x;}
-#define SET_IBIT(x) { the_ibit = x;}
-#define SET_MBIT(x) { the_mbit = x; }
-#define SET_NBIT(x) { the_nbit = x;}
-#define SET_NBIT_16(x) { the_nbit= ( ((x) & (0x8000)) != 0);}
-#define SET_NBIT_8(x) { the_nbit= ( ((x) & (0x80)) != 0);}
-#define SET_NBIT_M(x) { if (GET_MBIT) { SET_NBIT_8(x); } else { SET_NBIT_16(x);}}
-#define SET_NBIT_X(x) { if (GET_XBIT) { SET_NBIT_8(x); } else { SET_NBIT_16(x);}}
-#define SET_PBR(x) { the_pc = (the_pc & 0xffff) + ((x)<<16);}
-#define SET_PBRPC(x) { the_pc = x;}
-#define SET_ONLY_PC(x) { the_pc = (the_pc & 0xff0000) + ((x ) & 0xffff);}
-#define SET_S(x) {the_s = x; }
-#define SET_VBIT_16(x) {the_vbit = ((((int)x) < -0x8000) || (((int)x) > 0x7fff));}
-#define SET_VBIT_8(x) {the_vbit = ((((int)x) < -0x80) || (((int)x) > 0x7f));}
-/*#define SET_VBIT_M(x) { if(GET_MBIT) {SET_VBIT_8(x);}else {SET_VBIT_16(x);}}*/
-#define SET_ZBIT_16(x) { the_zbit = ((x & 0xffff) == 0);}
-#define SET_ZBIT_8(x) { the_zbit = ((x & 0xff) == 0);}
-#define SET_ZBIT_M(x) { if(GET_MBIT) {SET_ZBIT_8(x);}else {SET_ZBIT_16(x);}}
-#define SET_ZBIT_X(x) { if(GET_XBIT) {SET_ZBIT_8(x);}else {SET_ZBIT_16(x);}}
-#define SET_VBIT(x) { the_vbit = x; }
-#define SET_ZBIT(x) { the_zbit = x; }
-#define SET_X(x) { the_x = (x) & (GET_XBIT ? 0xff : 0xffff);}
-#define SET_Y(x) { the_y = (x) & (GET_XBIT ? 0xff : 0xffff);}
-
-#define AMASK ( GET_MBIT ? 0xff : 0xffff)
-#define SMASK ( GET_MBIT ? 0x80 : 0x8000)
-#define SET_VBIT_M(s1,acc,d) ( the_vbit = ((s1 ^ acc) & (acc ^ d) & SMASK )!=0)
-
-/*#define fetch8(x) (memory[x&MMASK])*/
-#define fetch16(x) (fetch8(x) + (fetch8((x)+1)<<8))
-#define fetch24(x) (fetch8(x) + (fetch8((x)+1)<<8) + (fetch8((x)+2)<<16))
-#define fetch8sext(x) ((char)fetch8(x))
-#define fetch16sext(x) ((short)fetch16(x))
-#define store8(x,y) {memory[x&MMASK]=y;}
-#define store16(x,y) { store8(x,y); store8(x+1,y>>8);}
-#define SEXTM(x) (GET_MBIT ? ((char)x): ((short)x))
-
-
-#define STARTFUNC() \
- register unsigned char *memory;\
- int the_s; \
- int the_b; \
- int the_x; \
- int the_d; \
- int the_y; \
- int the_dbr; \
- int the_pc; \
- int the_nbit; \
- int the_vbit; \
- int the_z; \
- int the_mbit; \
- int the_ibit; \
- int the_xbit; \
- int the_zbit; \
- int the_cbit; \
- int the_dbit; \
- int the_dpr; \
- int the_e; \
- int the_a; \
- int tick_start = get_now ();\
- int cycles = 0; \
- int insts = 0; \
- \
- SET_E (saved_state.e); \
- SET_P (saved_state.p); \
- SET_A (saved_state.a); \
- SET_X (saved_state.x); \
- SET_Y (saved_state.y); \
- SET_ONLY_PC (saved_state.pc); \
- SET_PBR (saved_state.pc >> 16); \
- SET_DBR_LOW (saved_state.dbr); \
- SET_D (saved_state.d); \
- SET_S (saved_state.s); \
- memory = saved_state.memory ; \
-{ int k; for (k = 0; k < NFAKES; k++) \
- store16(0x10 + k * 2, saved_state.r[k]); }\
- \
- top: \
-
-
-
-#define ENDFUNC() \
- rethink: \
- saved_state.ticks += get_now () - tick_start;\
- saved_state.cycles += cycles; \
- saved_state.insts += insts; \
-{ int k; for (k = 0; k < NFAKES; k++) \
-saved_state.r[k] = fetch16(0x10 + k * 2); }\
- \
- saved_state.e = GET_E; \
- saved_state.p = GET_P; \
- saved_state.a = GET_A; \
- saved_state.x = GET_X; \
- saved_state.y = GET_Y; \
- saved_state.pc = GET_PBRPC; \
- saved_state.dbr = GET_DBR_LOW; \
- saved_state.d = GET_D; \
- saved_state.s = GET_S; \
- \
- return 0; \
-
-
-extern saved_state_type saved_state;
-
-#define MMASK 0xfffff
-#define NUMSEGS 16
-#define RETHINK goto rethink;