--- /dev/null
+ title CpuIoAccess.asm\r
+\r
+;------------------------------------------------------------------------------\r
+;*\r
+;* Copyright (c) 2005 - 2007, Intel Corporation \r
+;* All rights reserved. This program and the accompanying materials \r
+;* are licensed and made available under the terms and conditions of the BSD License \r
+;* which accompanies this distribution. The full text of the license may be found at \r
+;* http://opensource.org/licenses/bsd-license.php \r
+;* \r
+;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+;* \r
+;* Module Name:\r
+;* CpuIoAccess.asm\r
+;* \r
+;* Abstract:\r
+;* Supports x64 CPU IO operation\r
+;*\r
+;------------------------------------------------------------------------------\r
+;\r
+; \r
+; \r
+; Abstract:\r
+; \r
+; \r
+;------------------------------------------------------------------------------\r
+\r
+.CODE\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT8\r
+; CpuIoRead8 (\r
+; UINT16 Port // rcx\r
+; )\r
+;------------------------------------------------------------------------------\r
+CpuIoRead8 PROC PUBLIC\r
+ xor eax, eax\r
+ mov dx, cx\r
+ in al, dx\r
+ ret\r
+CpuIoRead8 ENDP\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; CpuIoWrite8 (\r
+; UINT16 Port, // rcx\r
+; UINT32 Data // rdx\r
+; )\r
+;------------------------------------------------------------------------------\r
+CpuIoWrite8 PROC PUBLIC\r
+ mov eax, edx\r
+ mov dx, cx\r
+ out dx, al\r
+ ret\r
+CpuIoWrite8 ENDP\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; CpuIoRead16 (\r
+; UINT16 Port // rcx\r
+; )\r
+;------------------------------------------------------------------------------\r
+CpuIoRead16 PROC PUBLIC\r
+ xor eax, eax\r
+ mov dx, cx\r
+ in ax, dx\r
+ ret\r
+CpuIoRead16 ENDP\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; CpuIoWrite16 (\r
+; UINT16 Port, // rcx\r
+; UINT32 Data // rdx\r
+; )\r
+;------------------------------------------------------------------------------\r
+CpuIoWrite16 PROC PUBLIC\r
+ mov eax, edx\r
+ mov dx, cx\r
+ out dx, ax\r
+ ret\r
+CpuIoWrite16 ENDP\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; CpuIoRead32 (\r
+; UINT16 Port // rcx\r
+; )\r
+;------------------------------------------------------------------------------\r
+CpuIoRead32 PROC PUBLIC\r
+ mov dx, cx\r
+ in eax, dx\r
+ ret\r
+CpuIoRead32 ENDP\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; CpuIoWrite32 (\r
+; UINT16 Port, // rcx\r
+; UINT32 Data // rdx\r
+; )\r
+;------------------------------------------------------------------------------\r
+CpuIoWrite32 PROC PUBLIC\r
+ mov eax, edx\r
+ mov dx, cx\r
+ out dx, eax\r
+ ret\r
+CpuIoWrite32 ENDP\r
+\r
+END\r
+++ /dev/null
- title CpuIoAccess.asm\r
-\r
-;------------------------------------------------------------------------------\r
-;*\r
-;* Copyright (c) 2005 - 2007, Intel Corporation \r
-;* All rights reserved. This program and the accompanying materials \r
-;* are licensed and made available under the terms and conditions of the BSD License \r
-;* which accompanies this distribution. The full text of the license may be found at \r
-;* http://opensource.org/licenses/bsd-license.php \r
-;* \r
-;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-;* \r
-;* Module Name:\r
-;* CpuIoAccess.asm\r
-;* \r
-;* Abstract:\r
-;* Supports x64 CPU IO operation\r
-;*\r
-;------------------------------------------------------------------------------\r
-;\r
-; \r
-; \r
-; Abstract:\r
-; \r
-; \r
-;------------------------------------------------------------------------------\r
-\r
-.CODE\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT8\r
-; CpuIoRead8 (\r
-; UINT16 Port // rcx\r
-; )\r
-;------------------------------------------------------------------------------\r
-CpuIoRead8 PROC PUBLIC\r
- xor eax, eax\r
- mov dx, cx\r
- in al, dx\r
- ret\r
-CpuIoRead8 ENDP\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; CpuIoWrite8 (\r
-; UINT16 Port, // rcx\r
-; UINT32 Data // rdx\r
-; )\r
-;------------------------------------------------------------------------------\r
-CpuIoWrite8 PROC PUBLIC\r
- mov eax, edx\r
- mov dx, cx\r
- out dx, al\r
- ret\r
-CpuIoWrite8 ENDP\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; CpuIoRead16 (\r
-; UINT16 Port // rcx\r
-; )\r
-;------------------------------------------------------------------------------\r
-CpuIoRead16 PROC PUBLIC\r
- xor eax, eax\r
- mov dx, cx\r
- in ax, dx\r
- ret\r
-CpuIoRead16 ENDP\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; CpuIoWrite16 (\r
-; UINT16 Port, // rcx\r
-; UINT32 Data // rdx\r
-; )\r
-;------------------------------------------------------------------------------\r
-CpuIoWrite16 PROC PUBLIC\r
- mov eax, edx\r
- mov dx, cx\r
- out dx, ax\r
- ret\r
-CpuIoWrite16 ENDP\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; CpuIoRead32 (\r
-; UINT16 Port // rcx\r
-; )\r
-;------------------------------------------------------------------------------\r
-CpuIoRead32 PROC PUBLIC\r
- mov dx, cx\r
- in eax, dx\r
- ret\r
-CpuIoRead32 ENDP\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; CpuIoWrite32 (\r
-; UINT16 Port, // rcx\r
-; UINT32 Data // rdx\r
-; )\r
-;------------------------------------------------------------------------------\r
-CpuIoWrite32 PROC PUBLIC\r
- mov eax, edx\r
- mov dx, cx\r
- out dx, eax\r
- ret\r
-CpuIoWrite32 ENDP\r
-\r
-END\r