如何从时钟获取随机生成器的种子,在汇编器中编程

时间:2020-03-06 14:49:49  来源:igfitidea点击:

TASM 5编译器

体系结构x86.

对于随机数生成器算法,以时钟为种子。

我找到了解决方案:

AcquireSeed PROC

    PUSH AX
    PUSH CX
    PUSH DX

    MOV Ah, 00h ; Int
    INT 1AH     ; return the clock in CX:DX

    MOV seed, DL ; save the less significant byte of the clock at seed (declared at .data)

    POP DX
    POP CX
    POP DX

AcquireSeed endp

解决方案

不知道这个问题是什么意思,但是我们可能正在寻找RDTSC?

如果是这样,则TASM不直接支持它,但是我们可以使用以下命令为其插入操作码

db 0Fh, 31h