1;------------------------------------------------------------------------------ 2; 3; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> 4; 5; This program and the accompanying materials are licensed and made available 6; under the terms and conditions of the BSD License which accompanies this 7; 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 .586P 16 .model flat,C 17 .code 18 19;------------------------------------------------------------------------------ 20; VOID 21; EFIAPI 22; IoReadFifo8 ( 23; IN UINTN Port, 24; IN UINTN Size, 25; IN VOID *Buffer 26; ); 27;------------------------------------------------------------------------------ 28IoReadFifo8 PROC 29 push edi 30 cld 31 mov dx, [esp + 8] 32 mov ecx, [esp + 12] 33 mov edi, [esp + 16] 34rep insb 35 pop edi 36 ret 37IoReadFifo8 ENDP 38 39;------------------------------------------------------------------------------ 40; VOID 41; EFIAPI 42; IoReadFifo16 ( 43; IN UINTN Port, 44; IN UINTN Size, 45; IN VOID *Buffer 46; ); 47;------------------------------------------------------------------------------ 48IoReadFifo16 PROC 49 push edi 50 cld 51 mov dx, [esp + 8] 52 mov ecx, [esp + 12] 53 mov edi, [esp + 16] 54rep insw 55 pop edi 56 ret 57IoReadFifo16 ENDP 58 59;------------------------------------------------------------------------------ 60; VOID 61; EFIAPI 62; IoReadFifo32 ( 63; IN UINTN Port, 64; IN UINTN Size, 65; IN VOID *Buffer 66; ); 67;------------------------------------------------------------------------------ 68IoReadFifo32 PROC 69 push edi 70 cld 71 mov dx, [esp + 8] 72 mov ecx, [esp + 12] 73 mov edi, [esp + 16] 74rep insd 75 pop edi 76 ret 77IoReadFifo32 ENDP 78 79;------------------------------------------------------------------------------ 80; VOID 81; EFIAPI 82; IoWriteFifo8 ( 83; IN UINTN Port, 84; IN UINTN Size, 85; IN VOID *Buffer 86; ); 87;------------------------------------------------------------------------------ 88IoWriteFifo8 PROC 89 push esi 90 cld 91 mov dx, [esp + 8] 92 mov ecx, [esp + 12] 93 mov esi, [esp + 16] 94rep outsb 95 pop esi 96 ret 97IoWriteFifo8 ENDP 98 99;------------------------------------------------------------------------------ 100; VOID 101; EFIAPI 102; IoWriteFifo16 ( 103; IN UINTN Port, 104; IN UINTN Size, 105; IN VOID *Buffer 106; ); 107;------------------------------------------------------------------------------ 108IoWriteFifo16 PROC 109 push esi 110 cld 111 mov dx, [esp + 8] 112 mov ecx, [esp + 12] 113 mov esi, [esp + 16] 114rep outsw 115 pop esi 116 ret 117IoWriteFifo16 ENDP 118 119;------------------------------------------------------------------------------ 120; VOID 121; EFIAPI 122; IoWriteFifo32 ( 123; IN UINTN Port, 124; IN UINTN Size, 125; IN VOID *Buffer 126; ); 127;------------------------------------------------------------------------------ 128IoWriteFifo32 PROC 129 push esi 130 cld 131 mov dx, [esp + 8] 132 mov ecx, [esp + 12] 133 mov esi, [esp + 16] 134rep outsd 135 pop esi 136 ret 137IoWriteFifo32 ENDP 138 139 END 140 141