From d46d87c72f7c83dfd559e290b651ca878aa07256 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Tue, 18 Nov 2003 20:51:55 +0000 Subject: [PATCH] changed some flag masks for different privilege levels Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1441 --- include/regs.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/regs.h b/include/regs.h index 35981184..15d32e46 100644 --- a/include/regs.h +++ b/include/regs.h @@ -26,22 +26,27 @@ #define FLAG_AF 0x00000010 #define FLAG_ZF 0x00000040 #define FLAG_SF 0x00000080 +#define FLAG_OF 0x00000800 + #define FLAG_TF 0x00000100 #define FLAG_IF 0x00000200 #define FLAG_DF 0x00000400 -#define FLAG_OF 0x00000800 - -#define FLAG_MASK (FLAG_CF | FLAG_PF | FLAG_AF | FLAG_ZF | FLAG_SF | FLAG_OF) #define FLAG_IOPL 0x00003000 #define FLAG_NT 0x00004000 #define FLAG_VM 0x00020000 +#define FMASK_TEST (FLAG_CF | FLAG_PF | FLAG_AF | FLAG_ZF | FLAG_SF | FLAG_OF) +#define FMASK_NORMAL (FMASK_TEST | FLAG_DF | FLAG_TF | FLAG_IF) +#define FMASK_ALL (FMASK_NORMAL | FLAG_IOPL | FLAG_NT) + #define SETFLAGBIT(TYPE,TEST) if (TEST) reg_flags|=FLAG_ ## TYPE; else reg_flags&=~FLAG_ ## TYPE #define GETFLAG(TYPE) (reg_flags & FLAG_ ## TYPE) #define GETFLAGBOOL(TYPE) ((reg_flags & FLAG_ ## TYPE) ? true : false ) +#define GETFLAG_IOPL ((reg_flags & FLAG_IOPL) >> 12) + struct Segment { Bit16u val; PhysPt phys; /* The phyiscal address start in emulated machine */