summaryrefslogblamecommitdiffstats
path: root/c/src/librdbg/src/i386/any/remdeb_f.x
blob: 0ff52d13077d4ec786c2fee199c0bab0683fb4b4 (plain) (tree)

























































                                                                               
/*
 **************************************************************************
 *
 * Component =   rdblib
 * 
 * Synopsis  =   remdeb_f.x
 *
 *
 **************************************************************************
 */

struct xdr_regs
{
  unsigned int  tabreg[19];
};

#ifdef RPC_HDR

%/* now define register macros to apply to xdr_reg struct */
%
%#define GS     0
%#define FS     1
%#define ES     2
%#define DS     3
%#define EDI    4
%#define ESI    5
%#define EBP    6
%#define ESP    7
%#define EBX    8
%#define EDX    9
%#define ECX    10
%#define EAX    11
%#define TRAPNO 12
%#define ERR    13
%#define EIP    14
%#define CS     15
%#define EFL    16
%#define UESP   17
%#define SS     18
%
%#define REG_PC tabreg[EIP]     /* PC (eip) register offset */
%#define REG_SP tabreg[UESP]    /* SP (uesp) register offset */
%#define REG_FP tabreg[EBP]     /* FP (ebp) register offset */

%/* now define the BREAKPOINT mask technique to a long word */
%#define SET_BREAK(l)   ((l&0xFFFFFF00) | 0xCC) 
%#define IS_BREAK(l)    (((l) & 0xFF) == 0xCC)
%#define ORG_BREAK(c,p) (((c) & 0xFFFFFF00) | ((p) & 0xFF))
%#define IS_STEP(regs)  (regs.tabreg[TRAPNO] == 1) /* was step and not break */
%#define BREAK_ADJ      1       /* must subtract one from address after bp */
%#define BREAK_SIZE     1       /* Breakpoint occupies one byte */

%#define TARGET_PROC_TYPE  0

#endif