1
0
Fork 0

Changes for new flags

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@914
This commit is contained in:
Sjoerd van der Berg 2003-04-13 18:30:58 +00:00
parent 16904a20b3
commit 407b886a3b

View file

@ -29,12 +29,32 @@ struct Flag_Info {
} var1,var2,result;
Bitu type;
Bitu prev_type;
bool cf,sf,pf,af,zf,of,df,tf,intf;
bool nt;
Bit8u io;
bool oldcf;
Bitu oldcf;
Bitu word;
};
#define FLAG_CF 0x00000001
#define FLAG_PF 0x00000004
#define FLAG_AF 0x00000010
#define FLAG_ZF 0x00000040
#define FLAG_SF 0x00000080
#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 0x00040000
#define SETFLAGBIT(TYPE,TEST) if (TEST) flags.word|=FLAG_ ## TYPE; else flags.word&=~FLAG_ ## TYPE
#define GETFLAG(TYPE) (flags.word & FLAG_ ## TYPE)
struct Segment {
Bit16u val;
PhysPt phys; /* The phyiscal address start in emulated machine */
@ -43,6 +63,7 @@ struct Segment {
enum SegNames { es=0,cs,ss,ds,fs,gs};
struct Segments {
Bitu big[8];
Bitu val[8];
PhysPt phys[8];
};