// Return zero on success, or -1 on error.
#if CPUFAM_X86
- mov edx, [esp + 4]
+ mov edx, [SP + 4]
stalloc 28
# define COUNT ecx
#endif
// Try to fetch a random number.
mov COUNT, 16
-0: rdrand R_a(r)
+0: rdrand AX
jc 1f
dec COUNT
jnz 0b
// Success.
1:
#if CPUFAM_X86
- mov [esp + 16], eax
- lea ecx, [esp + 16]
- mov dword ptr [esp + 12], 32
- mov dword ptr [esp + 8], 4
- mov [esp + 4], ecx
- mov [esp + 0], edx
+ mov [SP + 16], AX
+ lea ecx, [SP + 16]
+ mov dword ptr [SP + 12], 32
+ mov dword ptr [SP + 8], 4
+ mov [SP + 4], ecx
+ mov [SP + 0], edx
#endif
#if CPUFAM_AMD64 && ABI_SYSV
- mov [rsp + 0], rax
- mov rsi, rsp
+ mov [SP + 0], AX
+ mov rsi, SP
mov edx, 8
mov ecx, 64
#endif
#if CPUFAM_AMD64 && ABI_WIN
- mov [rsp + 32], rax
- lea rdx, [rsp + 32]
+ mov [SP + 32], AX
+ lea rdx, [SP + 32]
mov r8d, 8
mov r9d, 64
#endif