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