CPU- RDRAND RDSEED |
function CPU_support_RDRAND: Boolean;
asm
mov rax, $01
cpuid
test ecx, 40000000h // 30-
setne al
end;
function CPU_support_RDSEED: Boolean;
asm
mov rcx, 0
mov rax, $07 // 7
cpuid
test ebx, 40000h // 18-
setne al
end;
const
REX_RDRAND32: Byte = $F0; //(11b:REG, 110b:OPCODE, 000b:EAX)
REX_RDSEED32: Byte = $F8; //(11b:REG, 111b:OPCODE, 000b:EAX)
REX_W_RDRAND64: Byte = $48; //(11b:REG, 110b:OPCODE, 000b:RAX)
REX_W_RDSEED64: Byte = $48; //(11b:REG, 111b:OPCODE, 000b:RAX)
-> https://habr.com/ru/post/441392/?utm_source=habrahabr&utm_medium=rss&utm_campaign=441392