1/// @file
2///  IPF specific AsmFc() and AsmFci () functions
3///
4/// Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
5/// 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/// Module Name: ExecFc.s
14///
15///
16
17//---------------------------------------------------------------------------------
18//++
19// AsmFc
20//
21// This routine is used to execute a FC instruction on the specific address.
22//
23// Arguments :
24//
25// On Entry :  The specific address need to execute FC instruction.
26//
27// Return Value: The specific address have been execute FC instruction.
28//
29//--
30//----------------------------------------------------------------------------------
31.text
32.type   AsmFc, @function
33.proc   AsmFc
34.regstk 1, 0, 0, 0
35
36AsmFc::
37        fc              in0
38        mov             r8 = in0;;
39        br.ret.dpnt     b0;;
40.endp   AsmFc
41
42
43//---------------------------------------------------------------------------------
44//++
45// AsmFci
46//
47// This routine is used to execute a FC.i instruction on the specific address.
48//
49// Arguments :
50//
51// On Entry :  The specific address need to execute FC.i instruction.
52//
53// Return Value: The specific address have been execute FC.i instruction.
54//
55//--
56//----------------------------------------------------------------------------------
57.text
58.type   AsmFci, @function
59.proc   AsmFci
60.regstk 1, 0, 0, 0
61
62AsmFci::
63        fc.i            in0
64        mov             r8 = in0;;
65        br.ret.dpnt     b0;;
66.endp   AsmFci
67