;------------------------------------------------------------------------------\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
;------------------------------------------------------------------------------\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
;------------------------------------------------------------------------------\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
;------------------------------------------------------------------------------\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