summaryrefslogtreecommitdiffstats
path: root/win-x86_64/crypto/rand
diff options
context:
space:
mode:
Diffstat (limited to 'win-x86_64/crypto/rand')
-rw-r--r--win-x86_64/crypto/rand/rdrand-x86_64.asm22
1 files changed, 22 insertions, 0 deletions
diff --git a/win-x86_64/crypto/rand/rdrand-x86_64.asm b/win-x86_64/crypto/rand/rdrand-x86_64.asm
new file mode 100644
index 0000000..a63ea69
--- /dev/null
+++ b/win-x86_64/crypto/rand/rdrand-x86_64.asm
@@ -0,0 +1,22 @@
+default rel
+%define XMMWORD
+%define YMMWORD
+%define ZMMWORD
+section .text code align=64
+
+
+global CRYPTO_rdrand
+
+ALIGN 16
+CRYPTO_rdrand:
+ mov QWORD[8+rsp],rdi ;WIN64 prologue
+ mov QWORD[16+rsp],rsi
+ mov rax,rsp
+$L$SEH_begin_CRYPTO_rdrand:
+ mov rdi,rcx
+
+
+DB 0x48,0x0f,0xc7,0xf0
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue
+ mov rsi,QWORD[16+rsp]
+ DB 0F3h,0C3h ;repret