// The OS/K Team licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. enum { INV, RIP, FLG, RBP, RSP, RAX, RBX, RCX, RDX, RSX, RBI, RDI, RSI, NX0, NX1, NX2, NX3, NX4, NX5, NX6, NX7, AX0, AX1, AX2, AX3, AX4, AX5, AX6, AX7, CR0, CR1, CR2, CR3, CR4, CR5, CR6, CR7, SA0, SA1, SA2, SA3, SA4, SA5, SA6, SA7, NREGS }; enum { GPR = 1 << 0, // General CTL = 1 << 1, // Control SEG = 1 << 2, // Segment RES = 1 << 8, // Reserved for insternal use SYS = 1 << 9, // Reserved for supervisor mode }; // FLG register enum { CF = 1 << 0, // Carry flag PF = 1 << 1, // Parity flag AC = 1 << 2, // Auxiliary flag ZF = 1 << 3, // Zero flag OV = 1 << 4, // Overflow flag DF = 1 << 5, // Direction flag SF = 1 << 6, // Sign flag UF = 1 << 16, // User-mode flag IF = 1 << 17, // Interrupts enable flag }; struct reg_t { char *name; char *desc; char *conv; ulong val; ulong flags; };