Enterprise Forever

:UK => Programming => Topic started by: g0blinish on 2015.December.01. 18:21:31

Title: random number generator: guru z80 request
Post by: g0blinish on 2015.December.01. 18:21:31
ok, here is routine:

Code: [Select]
RANDOM:     LD HL,(SEED+2)
            LD D,L
            ADD HL,HL
            ADD HL,HL
            LD C,H
            LD HL,(SEED)
            LD B,H
            RL B
            LD E,H
            RL E
            RL D
            ADD HL,BC
            LD (SEED),HL
            LD HL,(SEED+2)
            ADC HL,DE
            RES 7,H
            LD (SEED+2),HL
            JP M,RANDOM3
            LD HL,SEED
RANDOM2:    INC (HL)
            INC HL
            JR Z,RANDOM2
RANDOM3:    LD HL,(SEED)
 ret
SEED: dw $E5,0
one thing what i am not understand: why JP M,.. ? what z80 opcode affects at flag S?
Title: Re: random number generator: guru z80 request
Post by: BruceTanner on 2015.December.01. 19:28:24
ok, here is routine:

Code: [Select]
RANDOM:     LD HL,(SEED+2)
            LD D,L
            ADD HL,HL
            ADD HL,HL
            LD C,H
            LD HL,(SEED)
            LD B,H
            RL B
            LD E,H
            RL E
            RL D
            ADD HL,BC
            LD (SEED),HL
            LD HL,(SEED+2)
            ADC HL,DE
            RES 7,H
            LD (SEED+2),HL
            JP M,RANDOM3
            LD HL,SEED
RANDOM2:    INC (HL)
            INC HL
            JR Z,RANDOM2
RANDOM3:    LD HL,(SEED)
 ret
SEED: dw $E5,0
one thing what i am not understand: why JP M,.. ? what z80 opcode affects at flag S?
It is the ADC HL,DE that is 3 instructions further back that last set the sign flag.