]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/Ia32/RdRand.nasm
MdePkg: Replace Opcode with the corresponding instructions.
[mirror_edk2.git] / MdePkg / Library / BaseLib / Ia32 / RdRand.nasm
index e12b8e9611977991f5cc4de708211aae86dde1b7..d818b6ef556824a03f4e3fb50a8c7c08e4747176 100644 (file)
@@ -1,6 +1,6 @@
 ;------------------------------------------------------------------------------\r
 ;\r
-; Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2015 - 2022, Intel Corporation. All rights reserved.<BR>\r
 ; SPDX-License-Identifier: BSD-2-Clause-Patent\r
 ;\r
 ; Module Name:\r
@@ -25,9 +25,8 @@ SECTION .text
 ;------------------------------------------------------------------------------\r
 global ASM_PFX(InternalX86RdRand16)\r
 ASM_PFX(InternalX86RdRand16):\r
-    ; rdrand   ax                  ; generate a 16 bit RN into ax\r
+    rdrand eax                     ; generate a 16 bit RN into ax\r
                                    ; CF=1 if RN generated ok, otherwise CF=0\r
-    db     0xf, 0xc7, 0xf0         ; rdrand r16: "0f c7 /6  ModRM:r/m(w)"\r
     jc     rn16_ok                 ; jmp if CF=1\r
     xor    eax, eax                ; reg=0 if CF=0\r
     ret                            ; return with failure status\r
@@ -45,9 +44,8 @@ rn16_ok:
 ;------------------------------------------------------------------------------\r
 global ASM_PFX(InternalX86RdRand32)\r
 ASM_PFX(InternalX86RdRand32):\r
-    ; rdrand   eax                 ; generate a 32 bit RN into eax\r
+    rdrand eax                     ; generate a 32 bit RN into eax\r
                                    ; CF=1 if RN generated ok, otherwise CF=0\r
-    db     0xf, 0xc7, 0xf0         ; rdrand r32: "0f c7 /6  ModRM:r/m(w)"\r
     jc     rn32_ok                 ; jmp if CF=1\r
     xor    eax, eax                ; reg=0 if CF=0\r
     ret                            ; return with failure status\r
@@ -65,14 +63,13 @@ rn32_ok:
 ;------------------------------------------------------------------------------\r
 global ASM_PFX(InternalX86RdRand64)\r
 ASM_PFX(InternalX86RdRand64):\r
-    ; rdrand   eax                 ; generate a 32 bit RN into eax\r
+    rdrand eax                     ; generate a 32 bit RN into eax\r
                                    ; CF=1 if RN generated ok, otherwise CF=0\r
-    db     0xf, 0xc7, 0xf0         ; rdrand r32: "0f c7 /6  ModRM:r/m(w)"\r
     jnc    rn64_ret                ; jmp if CF=0\r
     mov    edx, dword [esp + 4]\r
     mov    [edx], eax\r
 \r
-    db     0xf, 0xc7, 0xf0         ; generate another 32 bit RN\r
+    rdrand eax                     ; generate another 32 bit RN\r
     jnc    rn64_ret                ; jmp if CF=0\r
     mov    [edx + 4], eax\r
 \r