ReadMm1.c revision 42eedea958591087603bbacd1c2227d2494026af
1/** @file
2  AsmReadMm1 function
3
4  Copyright (c) 2006 - 2007, Intel Corporation<BR>
5  All rights reserved. This program and the accompanying materials
6  are licensed and made available under the terms and conditions of the BSD License
7  which accompanies this distribution.  The full text of the license may be found at
8  http://opensource.org/licenses/bsd-license.php
9
10  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15//
16// Include common header file for this module.
17//
18
19
20/**
21  Reads the current value of 64-bit MMX Register #1 (MM1).
22
23  Reads and returns the current value of MM1. This function is only available
24  on IA-32 and X64.
25
26  @return The current value of MM1.
27
28**/
29UINT64
30EFIAPI
31AsmReadMm1 (
32  VOID
33  )
34{
35  _asm {
36    push    eax
37    push    eax
38    movq    [esp], mm1
39    pop     eax
40    pop     edx
41    emms
42  }
43}
44
45