1 ;------------------------------------------------------------------------------
3 ; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
4 ; This program and the accompanying materials
5 ; are licensed and made available under the terms and conditions of the BSD License
6 ; which accompanies this distribution. The full text of the license may be found at
7 ; http://opensource.org/licenses/bsd-license.php.
9 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 ;------------------------------------------------------------------------------
16 ;------------------------------------------------------------------------------
20 ; IN UINTN Port, // rcx
21 ; IN UINTN Size, // rdx
22 ; IN VOID *Buffer // r8
24 ;------------------------------------------------------------------------------
28 xchg rdi, r8 ; rdi: buffer address; r8: save rdi
30 mov rdi, r8 ; restore rdi
34 ;------------------------------------------------------------------------------
38 ; IN UINTN Port, // rcx
39 ; IN UINTN Size, // rdx
40 ; IN VOID *Buffer // r8
42 ;------------------------------------------------------------------------------
46 xchg rdi, r8 ; rdi: buffer address; r8: save rdi
48 mov rdi, r8 ; restore rdi
52 ;------------------------------------------------------------------------------
56 ; IN UINTN Port, // rcx
57 ; IN UINTN Size, // rdx
58 ; IN VOID *Buffer // r8
60 ;------------------------------------------------------------------------------
64 xchg rdi, r8 ; rdi: buffer address; r8: save rdi
66 mov rdi, r8 ; restore rdi
70 ;------------------------------------------------------------------------------
74 ; IN UINTN Port, // rcx
75 ; IN UINTN Size, // rdx
76 ; IN VOID *Buffer // r8
78 ;------------------------------------------------------------------------------
82 xchg rsi, r8 ; rsi: buffer address; r8: save rsi
84 mov rsi, r8 ; restore rsi
88 ;------------------------------------------------------------------------------
92 ; IN UINTN Port, // rcx
93 ; IN UINTN Size, // rdx
94 ; IN VOID *Buffer // r8
96 ;------------------------------------------------------------------------------
100 xchg rsi, r8 ; rsi: buffer address; r8: save rsi
102 mov rsi, r8 ; restore rsi
106 ;------------------------------------------------------------------------------
110 ; IN UINTN Port, // rcx
111 ; IN UINTN Size, // rdx
112 ; IN VOID *Buffer // r8
114 ;------------------------------------------------------------------------------
118 xchg rsi, r8 ; rsi: buffer address; r8: save rsi
120 mov rsi, r8 ; restore rsi