diff options
Diffstat (limited to 'private/mvdm/softpc.new/host/inc/monregs.h')
-rw-r--r-- | private/mvdm/softpc.new/host/inc/monregs.h | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/private/mvdm/softpc.new/host/inc/monregs.h b/private/mvdm/softpc.new/host/inc/monregs.h new file mode 100644 index 000000000..6cef8ae58 --- /dev/null +++ b/private/mvdm/softpc.new/host/inc/monregs.h @@ -0,0 +1,117 @@ +extern CONTEXT IntelRegisters; +extern ULONG IntelMSW; +// Flag Register constants + +#define FLG_CARRY 0x00000001 +#define FLG_CARRY_BIT 0x00000000 +#define FLG_PARITY 0x00000004 +#define FLG_PARITY_BIT 0x00000003 +#define FLG_AUXILIARY 0x00000010 +#define FLG_AUXILIARY_BIT 0x00000005 +#define FLG_ZERO 0x00000040 +#define FLG_ZERO_BIT 0x00000006 +#define FLG_SIGN 0x00000080 +#define FLG_SIGN_BIT 0x00000007 +#define FLG_TRAP 0x00000100 +#define FLG_INTERRUPT 0x00000200 +#define FLG_INTERRUPT_BIT 0x00000009 +#define FLG_DIRECTION 0x00000400 +#define FLG_DIRECTION_BIT 0x0000000A +#define FLG_OVERFLOW 0x00000800 +#define FLG_OVERFLOW_BIT 0x0000000B +extern ULONG getEAX(VOID); +extern USHORT getAX(VOID); +extern UCHAR getAL(VOID); +extern UCHAR getAH(VOID); +extern ULONG getEBX(VOID); +extern USHORT getBX(VOID); +extern UCHAR getBL(VOID); +extern UCHAR getBH(VOID); +extern ULONG getECX(VOID); +extern USHORT getCX(VOID); +extern UCHAR getCL(VOID); +extern UCHAR getCH(VOID); +extern ULONG getEDX(VOID); +extern USHORT getDX(VOID); +extern UCHAR getDL(VOID); +extern UCHAR getDH(VOID); +extern ULONG getESP(VOID); +extern USHORT getSP(VOID); +extern ULONG getEBP(VOID); +extern USHORT getBP(VOID); +extern ULONG getESI(VOID); +extern USHORT getSI(VOID); +extern ULONG getEDI(VOID); +extern USHORT getDI(VOID); +extern ULONG getEIP(VOID); +extern USHORT getIP(VOID); +extern USHORT getCS(VOID); +extern USHORT getSS(VOID); +extern USHORT getDS(VOID); +extern USHORT getES(VOID); +extern USHORT getFS(VOID); +extern USHORT getGS(VOID); +extern ULONG getCF(VOID); +extern ULONG getPF(VOID); +extern ULONG getAF(VOID); +extern ULONG getZF(VOID); +extern ULONG getSF(VOID); +extern ULONG getTF(VOID); +extern ULONG getIF(VOID); +extern ULONG getDF(VOID); +extern ULONG getOF(VOID); +extern USHORT getMSW(VOID); + +extern VOID setEAX(ULONG); +extern VOID setAX(USHORT); +extern VOID setAH(UCHAR); +extern VOID setAL(UCHAR); +extern VOID setEBX(ULONG); +extern VOID setBX(USHORT); +extern VOID setBH(UCHAR); +extern VOID setBL(UCHAR); +extern VOID setECX(ULONG); +extern VOID setCX(USHORT); +extern VOID setCH(UCHAR); +extern VOID setCL(UCHAR); +extern VOID setEDX(ULONG); +extern VOID setDX(USHORT); +extern VOID setDH(UCHAR); +extern VOID setDL(UCHAR); +extern VOID setESP(ULONG); +extern VOID setSP(USHORT); +extern VOID setEBP(ULONG); +extern VOID setBP(USHORT); +extern VOID setESI(ULONG); +extern VOID setSI(USHORT); +extern VOID setEDI(ULONG); +extern VOID setDI(USHORT); +extern VOID setEIP(ULONG); +extern VOID setIP(USHORT); +extern VOID setCS(USHORT); +extern VOID setSS(USHORT); +extern VOID setDS(USHORT); +extern VOID setES(USHORT); +extern VOID setFS(USHORT); +extern VOID setGS(USHORT); +extern VOID setCF(ULONG); +extern VOID setPF(ULONG); +extern VOID setAF(ULONG); +extern VOID setZF(ULONG); +extern VOID setSF(ULONG); +extern VOID setIF(ULONG); +extern VOID setDF(ULONG); +extern VOID setOF(ULONG); +extern VOID setMSW(USHORT); + +extern ULONG getPE(VOID); + +// from v86\monitor\i386 +VOID cpu_simulate(VOID); +VOID cpu_interrupt(int Type, int Number); +VOID cpu_init(VOID); +VOID cpu_terminate(VOID); +VOID host_unsimulate(VOID); +VOID host_simulate(VOID); +VOID cpu_createthread(HANDLE Thread); +VOID cpu_exitthread(VOID); |