A86: Re: Random


[Prev][Next][Index][Thread]

A86: Re: Random




>Hello.  How do I get a random number with a range of 0 to HL?


A quick and dirty way would be

ld a, r
ld h, a
ld a, r
ld l, a

or you could have a little fun.. i mean, depends how accurate you need it.
Numbers roll after 255. If you get a lot of even numbers you'll have to make
some changes. An easy way like

bit 7, a
jr z, MakeOdd             ; Half of the time make odd

or whatever who cares

 ld a, r
 ld h, a
 ld a, r
 ld l, a

 ld b, a

Loop1:
 rl h
 ld a, r
 add a, l
 ld l, a
djnz Loop1

Loop2:
 rl l
 ld a, r
 add a, h
 ld h, a
djnz Loop2

I never tested this routine so..

Later,
    Matt