random.asm

来自「驾驶员考试系统,汇编编写,qq332779423」· 汇编 代码 · 共 33 行

ASM
33
字号
.data?
dwRandom	dd		?

.code
;********************************************************************
;	随机数发生器
;		输入:al = 随机数 bit 数
;		返回:eax = 随机数
;********************************************************************
_Random		proc uses ebx ecx

		mov	cl,al
	        xor	eax,eax
	        mov	bl,byte ptr dwRandom
	        and	bl,1
Gen_bit:			; make n bit numbers
	        shl	eax,1
	        mov	edx,dwRandom	; Copy seed
	        shr	edx,9
	        xor	bl,dl
	        shr	edx,5
	        xor	bl,dl
	    	bt	ebx,1		; Copy bit 1 to carry flag
	        rcr	dwRandom,1	; Rotate seed right 1 bit
	        setc	bl		; Set bl TRUE if carry is set
		or	al,bl

		dec	cl
	        jnz	Gen_bit
		ret

_Random		endp

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?