46 lines
1.1 KiB
C
46 lines
1.1 KiB
C
/*++
|
|
|
|
Copyright (c) 1996-2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
eflags.h
|
|
|
|
Abstract:
|
|
|
|
Bit positions for the various flag bits inside EFLAGS
|
|
|
|
Author:
|
|
|
|
Barry Bond (barrybo) creation-date 25-January-2000
|
|
|
|
Revision History:
|
|
|
|
|
|
--*/
|
|
|
|
#ifndef _EFLAGS_INCLUDED
|
|
#define _EFLAGS_INCLUDED
|
|
|
|
#define FLAG_CF (1<<0) // carry
|
|
// bit 1 is always 1
|
|
#define FLAG_PF (1<<2) // parity
|
|
// bit 3 is always 0
|
|
#define FLAG_AUX (1<<4) // aux carry
|
|
// bit 5 is always 0
|
|
#define FLAG_ZF (1<<6) // zero
|
|
#define FLAG_SF (1<<7) // sign
|
|
#define FLAG_TF (1<<8) // trap
|
|
#define FLAG_IF (1<<9) // interrupt enable
|
|
#define FLAG_DF (1<<10) // direction
|
|
#define FLAG_OF (1<<11) // overflow
|
|
#define FLAG_IOPL (3<<12) // IOPL = 3
|
|
#define FLAG_NT (1<<14) // nested task
|
|
// bit 15 is 0
|
|
#define FLAG_RF (1<<16) // resume flag
|
|
#define FLAG_VM (1<<17) // virtual mode
|
|
#define FLAG_AC (1<<18) // alignment check
|
|
#define FLAG_ID (1<<21) // ID bit (CPUID present if this can be toggled)
|
|
|
|
#endif //_EFLAGS_INCLUDED
|