GDB (API)
/home/stan/gdb/src/include/gdb/sim-h8300.h
Go to the documentation of this file.
00001 /* This file defines the interface between the h8300 simulator and gdb.
00002    Copyright (C) 2002-2013 Free Software Foundation, Inc.
00003 
00004    This file is part of GDB.
00005 
00006    This program is free software; you can redistribute it and/or modify
00007    it under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 3 of the License, or
00009    (at your option) any later version.
00010 
00011    This program is distributed in the hope that it will be useful,
00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014    GNU General Public License for more details.
00015 
00016    You should have received a copy of the GNU General Public License
00017    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
00018 
00019 #if !defined (SIM_H8300_H)
00020 #define SIM_H8300_H
00021 
00022 #ifdef __cplusplus
00023 extern "C" { //}
00024 #endif
00025 
00026 /* The simulator makes use of the following register information. */
00027 
00028   enum sim_h8300_regs
00029   {
00030     /* Registers common to all the H8 variants. */
00031     /* Start here: */
00032     SIM_H8300_R0_REGNUM,
00033     SIM_H8300_R1_REGNUM,
00034     SIM_H8300_R2_REGNUM,
00035     SIM_H8300_R3_REGNUM,
00036     SIM_H8300_R4_REGNUM,
00037     SIM_H8300_R5_REGNUM,
00038     SIM_H8300_R6_REGNUM,
00039     SIM_H8300_R7_REGNUM,
00040 
00041     SIM_H8300_CCR_REGNUM,  /* Contains processor status */
00042     SIM_H8300_PC_REGNUM,   /* Contains program counter */
00043     /* End here */
00044 
00045     SIM_H8300_EXR_REGNUM,  /* Contains extended processor status
00046                               H8S and higher */
00047     SIM_H8300_MACL_REGNUM, /* Lower part of MAC register (26xx only)*/
00048     SIM_H8300_MACH_REGNUM, /* High part of MAC register (26xx only) */
00049 
00050     SIM_H8300_CYCLE_REGNUM,
00051     SIM_H8300_INST_REGNUM,
00052     SIM_H8300_TICK_REGNUM
00053   };
00054 
00055   enum
00056   {
00057     SIM_H8300_ARG_FIRST_REGNUM = SIM_H8300_R0_REGNUM, /* first reg in which an arg
00058                                                          may be passed */
00059     SIM_H8300_ARG_LAST_REGNUM = SIM_H8300_R3_REGNUM,  /* last  reg in which an arg
00060                                                          may be passed */
00061     SIM_H8300_FP_REGNUM = SIM_H8300_R6_REGNUM, /* Contain address of executing
00062                                                   stack frame */
00063     SIM_H8300_SP_REGNUM = SIM_H8300_R7_REGNUM  /* Contains address of top of stack */
00064   };
00065 
00066   enum
00067   {
00068     SIM_H8300_NUM_COMMON_REGS = 10,
00069     SIM_H8300_S_NUM_REGS = 13,
00070     SIM_H8300_NUM_REGS = 16
00071   };
00072 
00073 #ifdef __cplusplus
00074 }
00075 #endif
00076 
00077 #endif                          /* SIM_H8300_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines