2 * Simulator of microcontrollers (regsz80.h)
4 * some z80 code base from Karl Bongers karl@turbobit.com
6 * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
8 * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
12 /* This file is part of microcontroller simulator: ucsim.
14 UCSIM is free software; you can redistribute it and/or modify
15 it under the terms of the GNU General Public License as published by
16 the Free Software Foundation; either version 2 of the License, or
17 (at your option) any later version.
19 UCSIM is distributed in the hope that it will be useful,
20 but WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 GNU General Public License for more details.
24 You should have received a copy of the GNU General Public License
25 along with UCSIM; see the file COPYING. If not, write to the Free
26 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
30 #ifndef REGSZ80_HEADER
31 #define REGSZ80_HEADER
38 #ifdef WORDS_BIGENDIAN
47 #define DEF_REGPAIR(BIGNAME,smallname) \
50 struct t_regpair smallname; \
63 /* there are alternate AF,BC,DE,HL register sets, and a few instructions
64 that swap one for the other */
67 DEF_REGPAIR(aBC, a_bc);
68 DEF_REGPAIR(aDE, a_de);
69 DEF_REGPAIR(aHL, a_hl);
70 TYPE_UBYTE iv; /* interrupt vector, see ed 47 ld A,IV.. */
73 #define BIT_C 0x01 // carry status(out of bit 7)
74 #define BIT_N 0x02 // Not addition: subtract status(1 after subtract).
75 #define BIT_P 0x04 // parity/overflow, 1=even, 0=odd parity. arith:1=overflow
76 #define BIT_A 0x10 // aux carry status(out of bit 3)
77 #define BIT_Z 0x40 // zero status, 1=zero, 0=nonzero
78 #define BIT_S 0x80 // sign status(value of bit 7)
79 #define BIT_ALL (BIT_C |BIT_N |BIT_P |BIT_A |BIT_Z |BIT_S) // all bits
81 #define BITPOS_C 0 // 1
82 #define BITPOS_SUB 1 // 2H
83 #define BITPOS_P 2 // 4H
84 #define BITPOS_A 4 // 10H
85 #define BITPOS_Z 6 // 40H
86 #define BITPOS_S 7 // 80H
90 /* End of z80.src/regsz80.h */