2020-09-30 17:17:25 +02:00

85 lines
1.3 KiB
NASM

title "Processor type and stepping detection"
;++
;
; Copyright (c) 1989 Microsoft Corporation
;
; Module Name:
;
; cpu.asm
;
; Abstract:
;
; This module implements the assembley code necessary to determine
; cpu type and stepping information.
;
; Author:
;
; Shie-Lin Tzong (shielint) 28-Oct-1991.
; Some of the code is extracted from Cruiser (mainly,
; the code to determine 386 stepping.)
;
; Environment:
;
; 80x86
;
; Revision History:
;
;--
.xlist
include ks386.inc
include callconv.inc
.list
.586p
_TEXT SEGMENT DWORD PUBLIC 'CODE' ; Put IdleLoop in text section
ASSUME DS:FLAT, ES:FLAT, SS:NOTHING, FS:NOTHING, GS:NOTHING
;++
;
; ULONGLONG
; FASTCALL
; RDMSR (
; IN ULONG MsrRegister
; );
;
; Routine Description:
;
; Arguments:
;
; Return Value:
;
;--
cPublicFastCall RDMSR, 1
rdmsr
fstRET RDMSR
fstENDP RDMSR
;++
;
; VOID
; WRMSR (
; IN ULONG MsrRegister
; IN LONGLONG MsrValue
; );
;
; Routine Description:
;
; Arguments:
;
; Return Value:
;
;--
cPublicProc _WRMSR, 3
mov ecx, [esp+4]
mov eax, [esp+8]
mov edx, [esp+12]
wrmsr
stdRET _WRMSR
stdENDP _WRMSR
_TEXT ENDS
END