Welcome, Guest. Please login or register.


Author Topic: random number generator: guru z80 request (Read 2289 times)

Offline g0blinish

  • EP fan
  • *
  • Posts: 110
random number generator: guru z80 request
« 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?

Offline BruceTanner

  • EP lover
  • *
  • Posts: 607
  • Country: gb
Re: random number generator: guru z80 request
« Reply #1 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.