Category : Files from Magazines
Archive   : PJ91.ZIP
Filename : RAND.ASM

 
Output of file : RAND.ASM contained in archive : PJ91.ZIP
title rand - random number
include asm.inc

public rand
public random

.data
; these primes come from Knuth's Seminumerical Algorithms
; useful prime numbers, table 1, section 4.5.4, page 390
ran_num dw 0 ; random number seed
ran_mod dw 0FFEFh ; modulus 2^16-17
ran_mul dw 0FFD9h ; multiplier 2^16-39
ran_inc dw 0FFFFh ; increment -1

.code

;; rand
;
; exit AX random number
;
rand proc
push dx
mov ax,ran_num[bp]
mul ran_mul[bp]
add ax,ran_inc[bp]
adc dx,ZER0
div ran_mod[bp]
xchg ax,dx
mov ran_num[bp],ax
pop dx
ret
rand endp


;; random
;
; entry AX num
; exit AX random number between 0 and num-1
;
random proc
pushm cx,dx
mov cx,ax
movx dx,0
jcxz ran1
call rand
div cx
ran1: mov ax,dx
popm dx,cx
ret
random endp

end


  3 Responses to “Category : Files from Magazines
Archive   : PJ91.ZIP
Filename : RAND.ASM

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/