00001 ;++
00002 ;
00003 ;
Copyright (c) 1989 Microsoft Corporation
00004 ;
00005 ; Module
Name:
00006 ;
00007 ; cpu.inc
00008 ;
00009 ; Abstract:
00010 ;
00011 ; This module contains
the assembly structures and definitions
00012 ;
for INTEL 80x86 CPU specifiec information. This include
file
00013 ;
is mainly used by CPU.ASM to determine CPU
type and stepping
00014 ; number.
00015 ;
00016 ; Author:
00017 ;
00018 ; Shie-Lin (shielint) 1-Oct-1991
00019 ;
00020 ; Revision
History:
00021 ;
00022 ;--
00023
00024 ;
00025 ; The following equates define
the control bits of CR0
register
00026 ;
00027
00028 CR0_AM equ 40000h
00029 CR0_ET equ 00010h
00030
00031 ;
00032 ; The following equates define
the control bits of EFALGS
register
00033 ;
00034
00035 EFLAGS_AC equ 40000h
00036 EFLAGS_VM equ 20000h
00037 EFLAGS_RF equ 10000h
00038 EFLAGS_NF equ 4000h
00039 EFLAGS_IOPL equ 3000h
00040 EFLAGS_IF equ 200h
00041 EFLAGS_TF equ 100h
00042 EFLAGS_ID equ 200000h
00043
00044 ;
00045 ; Define
the iret frame
00046 ;
00047
00048 IretFrame struc
00049
00050 IretEip dd 0
00051 IretCs dd 0
00052 IretEFlags dd 0
00053
00054 IretFrame ends
00055
00056 ;
00057 ; Misc. definitions
00058 ;
00059
00060 ADDRESS_OVERRIDE equ 67h
00061 OPERAND_OVERRIDE equ 66h