I wanted to generate 1000 numbers in a random non-repeating order (ranged between 1 to 1000) and have been given this code which is a linear feedback shift register:
Code: Select all
LD IX,#LFSR ; (2-byte store)
SRL (IX+00)
RR (IX+01)
RET NC
LD A,(IX+00)
XOR #0x02
LD (IX+00),A
LD A,(IX+01)
XOR #0x40
LD (IX+01),A
RET