regsSimnt.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:1k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* regsSimnt.h - simnt registers header */
  2. /* Copyright 1995 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,29apr98,cym  added intLockKey
  7. 01a,27aug97,cym  written
  8. */
  9. #ifndef __INCregsSimnth
  10. #define __INCregsSimnth
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. #ifndef _ASMLANGUAGE
  15. #define GREG_NUM 8
  16. typedef struct /* REG_SET - simnt register set (based on x86)*/
  17.     {
  18.     ULONG edi; /* general register */
  19.     ULONG esi; /* general register */
  20.     ULONG ebp; /* general register */
  21.     ULONG esp; /* general register */
  22.     ULONG ebx; /* general register */
  23.     ULONG edx; /* general register */
  24.     ULONG ecx; /* frame pointer register */
  25.     ULONG eax; /* stack pointer register */
  26.     ULONG eflags; /* status register */
  27.     INSTR *pc;          /* program counter */
  28.     ULONG intLockKey;
  29.     CONTEXT windowsContext;
  30.     } REG_SET;
  31. #define spReg   esp
  32. #define fpReg ebp
  33. #define reg_pc pc
  34. #define reg_sp spReg
  35. #define reg_fp fpReg
  36. #define G_REG_BASE 0x00
  37. #define G_REG_OFFSET(n) (G_REG_BASE + (n)*sizeof(ULONG))
  38. #define SR_OFFSET G_REG_OFFSET(GREG_NUM)
  39. #define PC_OFFSET (SR_OFFSET+sizeof(ULONG))
  40. #endif  /* _ASMLANGUAGE */
  41. #ifdef __cplusplus
  42. }
  43. #endif
  44. #endif /* __INCregsSimsolarish */