Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.8 KiB

  1. extern CONTEXT IntelRegisters;
  2. extern ULONG IntelMSW;
  3. // Flag Register constants
  4. #define FLG_CARRY 0x00000001
  5. #define FLG_CARRY_BIT 0x00000000
  6. #define FLG_PARITY 0x00000004
  7. #define FLG_PARITY_BIT 0x00000003
  8. #define FLG_AUXILIARY 0x00000010
  9. #define FLG_AUXILIARY_BIT 0x00000005
  10. #define FLG_ZERO 0x00000040
  11. #define FLG_ZERO_BIT 0x00000006
  12. #define FLG_SIGN 0x00000080
  13. #define FLG_SIGN_BIT 0x00000007
  14. #define FLG_INTERRUPT 0x00000200
  15. #define FLG_INTERRUPT_BIT 0x00000009
  16. #define FLG_DIRECTION 0x00000400
  17. #define FLG_DIRECTION_BIT 0x0000000A
  18. #define FLG_OVERFLOW 0x00000800
  19. #define FLG_OVERFLOW_BIT 0x0000000B
  20. extern ULONG getEAX(VOID);
  21. extern USHORT getAX(VOID);
  22. extern UCHAR getAL(VOID);
  23. extern UCHAR getAH(VOID);
  24. extern ULONG getEBX(VOID);
  25. extern USHORT getBX(VOID);
  26. extern UCHAR getBL(VOID);
  27. extern UCHAR getBH(VOID);
  28. extern ULONG getECX(VOID);
  29. extern USHORT getCX(VOID);
  30. extern UCHAR getCL(VOID);
  31. extern UCHAR getCH(VOID);
  32. extern ULONG getEDX(VOID);
  33. extern USHORT getDX(VOID);
  34. extern UCHAR getDL(VOID);
  35. extern UCHAR getDH(VOID);
  36. extern ULONG getESP(VOID);
  37. extern USHORT getSP(VOID);
  38. extern ULONG getEBP(VOID);
  39. extern USHORT getBP(VOID);
  40. extern ULONG getESI(VOID);
  41. extern USHORT getSI(VOID);
  42. extern ULONG getEDI(VOID);
  43. extern USHORT getDI(VOID);
  44. extern ULONG getEIP(VOID);
  45. extern USHORT getIP(VOID);
  46. extern USHORT getCS(VOID);
  47. extern USHORT getSS(VOID);
  48. extern USHORT getDS(VOID);
  49. extern USHORT getES(VOID);
  50. extern USHORT getFS(VOID);
  51. extern USHORT getGS(VOID);
  52. extern ULONG getCF(VOID);
  53. extern ULONG getPF(VOID);
  54. extern ULONG getAF(VOID);
  55. extern ULONG getZF(VOID);
  56. extern ULONG getSF(VOID);
  57. extern ULONG getIF(VOID);
  58. extern ULONG getDF(VOID);
  59. extern ULONG getOF(VOID);
  60. extern USHORT getMSW(VOID);
  61. extern VOID setEAX(ULONG);
  62. extern VOID setAX(USHORT);
  63. extern VOID setAH(UCHAR);
  64. extern VOID setAL(UCHAR);
  65. extern VOID setEBX(ULONG);
  66. extern VOID setBX(USHORT);
  67. extern VOID setBH(UCHAR);
  68. extern VOID setBL(UCHAR);
  69. extern VOID setECX(ULONG);
  70. extern VOID setCX(USHORT);
  71. extern VOID setCH(UCHAR);
  72. extern VOID setCL(UCHAR);
  73. extern VOID setEDX(ULONG);
  74. extern VOID setDX(USHORT);
  75. extern VOID setDH(UCHAR);
  76. extern VOID setDL(UCHAR);
  77. extern VOID setESP(ULONG);
  78. extern VOID setSP(USHORT);
  79. extern VOID setEBP(ULONG);
  80. extern VOID setBP(USHORT);
  81. extern VOID setESI(ULONG);
  82. extern VOID setSI(USHORT);
  83. extern VOID setEDI(ULONG);
  84. extern VOID setDI(USHORT);
  85. extern VOID setEIP(ULONG);
  86. extern VOID setIP(USHORT);
  87. extern VOID setCS(USHORT);
  88. extern VOID setSS(USHORT);
  89. extern VOID setDS(USHORT);
  90. extern VOID setES(USHORT);
  91. extern VOID setFS(USHORT);
  92. extern VOID setGS(USHORT);
  93. extern VOID setCF(ULONG);
  94. extern VOID setPF(ULONG);
  95. extern VOID setAF(ULONG);
  96. extern VOID setZF(ULONG);
  97. extern VOID setSF(ULONG);
  98. extern VOID setIF(ULONG);
  99. extern VOID setDF(ULONG);
  100. extern VOID setOF(ULONG);
  101. extern VOID setMSW(USHORT);