1 /* Target-dependent code for the Z80. 2 3 Copyright (C) 2002-2021 Free Software Foundation, Inc. 4 5 This file is part of GDB. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 #ifndef Z80_TDEP_H 21 #define Z80_TDEP_H 22 23 /* Register pair constants 24 Order optimized for gdb-stub implementation 25 Most of register pairs are 16 bit length on Z80 and 26 24 bit on eZ80 in ADL or MADL modes */ 27 enum z80_regnum 28 { 29 Z80_AF_REGNUM, 30 Z80_BC_REGNUM, 31 Z80_DE_REGNUM, 32 Z80_HL_REGNUM, 33 Z80_SP_REGNUM, /* SPL on eZ80 CPU */ 34 Z80_PC_REGNUM, 35 Z80_IX_REGNUM, 36 Z80_IY_REGNUM, 37 Z80_AFA_REGNUM, 38 Z80_BCA_REGNUM, 39 Z80_DEA_REGNUM, 40 Z80_HLA_REGNUM, 41 Z80_IR_REGNUM, 42 /* eZ80 only registers */ 43 Z80_SPS_REGNUM /* SPS register of eZ80 CPU */ 44 }; 45 46 #define Z80_NUM_REGS 13 47 #define Z80_REG_BYTES (Z80_NUM_REGS*2) 48 49 #define EZ80_NUM_REGS (Z80_NUM_REGS + 1) 50 #define EZ80_REG_BYTES (EZ80_NUM_REGS*3) 51 52 #endif /* z80-tdep.h */ 53