127 lines
3.9 KiB
PHP
127 lines
3.9 KiB
PHP
|
;; File: registers.inc
|
||
|
|
||
|
|
||
|
;; =========================================================================
|
||
|
;; Control Registers
|
||
|
;; =========================================================================
|
||
|
|
||
|
;; Defines: CR0
|
||
|
;; CR0_PE - Protected Mode Enable
|
||
|
;; CR0_MP - Monitor co-processor
|
||
|
;; CR0_EM - x87 FPU Emulation
|
||
|
;; CR0_TS - Task switched
|
||
|
;; CR0_ET - Extension type
|
||
|
;; CR0_NE - Numeric error
|
||
|
;; CR0_WP - Write protect
|
||
|
;; CR0_AM - Alignment mask
|
||
|
;; CR0_NW - Not-write through
|
||
|
;; CR0_CD - Cache disable
|
||
|
;; CR0_PG - Paging
|
||
|
CR0_PE equ 1 << 0
|
||
|
CR0_MP equ 1 << 1
|
||
|
CR0_EM equ 1 << 2
|
||
|
CR0_TS equ 1 << 3
|
||
|
CR0_ET equ 1 << 4
|
||
|
CR0_NE equ 1 << 5
|
||
|
CR0_WP equ 1 << 16
|
||
|
CR0_AM equ 1 << 18
|
||
|
CR0_NW equ 1 << 29
|
||
|
CR0_CD equ 1 << 30
|
||
|
CR0_PG equ 1 << 31
|
||
|
|
||
|
;; Defines: CR3
|
||
|
;; CR3_PWT - Page-level Write-Through
|
||
|
;; CR3_PCD - Page-level Cache Disable
|
||
|
CR3_PWT equ 1 << 3
|
||
|
CR3_PCD equ 1 << 4
|
||
|
|
||
|
;; Defines: CR4
|
||
|
;; CR4_VME - Virtual 8086 Mode Extensions
|
||
|
;; CR4_PVI - Protected-mode Virtual Interrupts
|
||
|
;; CR4_TSD - Time Stamp Disable
|
||
|
;; CR4_DE - Debugging Extensions
|
||
|
;; CR4_PSE - Page Size Extension
|
||
|
;; CR4_PAE - Physical Address Extension
|
||
|
;; CR4_MCE - Machine Check Exception
|
||
|
;; CR4_PGE - Page Global Enabled
|
||
|
;; CR4_PCE - Performance-Monitoring Counter enable
|
||
|
;; CR4_OSFXSR - Operating system support for FXSAVE and FXRSTOR
|
||
|
;; instructions
|
||
|
;; CR4_OSXMMEXCPT - Operating System Support for Unmasked SIMD
|
||
|
;; Floating-Point Excepions
|
||
|
;; CR4_UMIP - User-Mode Instruction Prevention
|
||
|
;; CR4_VMXE - Virtual Machine Extensions Enable
|
||
|
;; CR4_SMXE - Safer Mode Extensions Enable
|
||
|
;; CR4_FSGSBASE -
|
||
|
;; CR4_PCIDE - PCID Enable
|
||
|
;; CR4_OSXSSAVE - XSAVE and Processor Extended States Enable
|
||
|
;; CR4_SMEP - Supervisor Mode Execution Protection Enable
|
||
|
;; CR4_SMAP - Supervisor Mode Access Prevention Enable
|
||
|
;; CR4_PKE - Protection Key Enable
|
||
|
;; CR4_CET - Control-flow Enforcement Technology
|
||
|
;; CR4_PKS - Enable Protection Keys for Supervisor-Mode Pages
|
||
|
CR4_VME equ 1 << 0
|
||
|
CR4_PVI equ 1 << 1
|
||
|
CR4_TSD equ 1 << 2
|
||
|
CR4_DE equ 1 << 3
|
||
|
CR4_PSE equ 1 << 4
|
||
|
CR4_PAE equ 1 << 5
|
||
|
CR4_MCE equ 1 << 6
|
||
|
CR4_PGE equ 1 << 7
|
||
|
CR4_PCE equ 1 << 8
|
||
|
CR4_OSDXSR equ 1 << 9
|
||
|
CR4_OSXMMEXCPT equ 1 << 10
|
||
|
CR4_UMIP equ 1 << 11
|
||
|
CR4_VMXE equ 1 << 13
|
||
|
CR4_SMXE equ 1 << 14
|
||
|
CR4_FSGSBASE equ 1 << 16
|
||
|
CR4_PCIDE equ 1 << 17
|
||
|
CR4_OSXSAVE equ 1 << 18
|
||
|
CR4_SMEP equ 1 << 20
|
||
|
CR4_SMAP equ 1 << 21
|
||
|
CR4_PKE equ 1 << 22
|
||
|
CR4_CET equ 1 << 23
|
||
|
CR4_PKS equ 1 << 24
|
||
|
|
||
|
;; =========================================================================
|
||
|
;; eflags
|
||
|
;; =========================================================================
|
||
|
|
||
|
;; Defines: EFLAGS
|
||
|
;; EFLAGS_CF - Carry flag
|
||
|
;; EFLAGS_PF - Parity flag
|
||
|
;; EFLAGS_AF - Auxiliary flag
|
||
|
;; EFLAGS_ZF - Zero flag
|
||
|
;; EFLAGS_SF - Sign flag
|
||
|
;; EFLAGS_TF - Trap flag
|
||
|
;; EFLAGS_IF - Interrupt enable flag
|
||
|
;; EFLAGS_DF - Direction flag
|
||
|
;; EFLAGS_OF - Overflow flag
|
||
|
;; EFLAGS_IOPL1 - I/O privilege flag
|
||
|
;; EFLAGS_IOPL2 - I/O privilege flag
|
||
|
;; EFLAGS_NT - Nested task flag
|
||
|
;; EFLAGS_RF - Resume flag
|
||
|
;; EFLAGS_VM - Virtual 8086 mode flag
|
||
|
;; EFLAGS_AC - Alignment check
|
||
|
;; EFLAGS_VIF - Virtual Interrupt flag
|
||
|
;; EFLAGS_VIP - Virtual Interrupt pending
|
||
|
;; EFLAGS_ID - CPUID instruction available
|
||
|
EFLAGS_CF equ 1 << 0
|
||
|
EFLAGS_PF equ 1 << 2
|
||
|
EFLAGS_AF equ 1 << 4
|
||
|
EFLAGS_ZF equ 1 << 6
|
||
|
EFLAGS_SF equ 1 << 7
|
||
|
EFLAGS_TF equ 1 << 8
|
||
|
EFLAGS_IF equ 1 << 9
|
||
|
EFLAGS_DF equ 1 << 10
|
||
|
EFLAGS_OF equ 1 << 11
|
||
|
EFLAGS_IOPL1 equ 1 << 12
|
||
|
EFLAGS_IOPL2 equ 1 << 13
|
||
|
EFLAGS_NT equ 1 << 14
|
||
|
EFLAGS_RF equ 1 << 16
|
||
|
EFLAGS_VM equ 1 << 17
|
||
|
EFLAGS_AC equ 1 << 18
|
||
|
EFLAGS_VIF equ 1 << 19
|
||
|
EFLAGS_VIP equ 1 << 20
|
||
|
EFLAGS_ID equ 1 << 21
|