📄 eflags.h
字号:
/* * plex86: run multiple x86 operating systems concurrently * Copyright (C) 1999-2003 Kevin P. Lawton * * eflags.h: Bitfields of EFLAGS registers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef __EFLAGS_H__#define __EFLAGS_H__/* * the eflags field looks like this: * bit: 0 1 2 3 4 5 6 7 8 9 A B C/D E F 10 11 12 13 14 15 16 * flg: CF 1 PF 0 AF 0 ZF SF TF IF DF OF IOPL NT 0 RF VM AC VIF VIP ID 0 */#define FLG_CF (1<<0)#define FLG_PF (1<<2)#define FLG_AF (1<<4)#define FLG_ZF (1<<6)#define FLG_SF (1<<7)#define FLG_TF (1<<8)#define FLG_IF (1<<9)#define FLG_DF (1<<10)#define FLG_OF (1<<11)#define FLG_IOPL (3<<12)#define FLG_NT (1<<14)#define FLG_RF (1<<16)#define FLG_VM (1<<17)#define FLG_AC (1<<18)#define FLG_VIF (1<<19)#define FLG_VIP (1<<20)#define FLG_ID (1<<21)typedef union { struct { Bit8u cf:1; Bit8u R1:1; Bit8u pf:1; Bit8u R3:1; Bit8u af:1; Bit8u R5:1; Bit8u zf:1; Bit8u sf:1; Bit8u tf:1; Bit8u if_:1; Bit8u df:1; Bit8u of:1; Bit8u iopl:2; Bit8u nt:1; Bit8u R15:1; Bit8u rf:1; Bit8u vm:1; Bit8u ac:1; Bit8u vif:1; Bit8u vip:1; Bit8u id:1; Bit16u R31_22:10; } __attribute__ ((packed)) fields; Bit32u raw; } __attribute__ ((packed)) eflags_t;#endif /* __EFLAGS_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -