Es muy complicado acceder a la función RND del BASIC? Cómo
calcula
los
números la función RND?
Ojala te ayude este extracto de mi pequenha pero util libreta de
programacion :)
Un Saludo
; Input : Registro A
; Output : Registro A
LD A,07 ; --> RND desde 0 ~ 6 (Tu puedes cambiar
el valor de A = 0 ~ FF)
CALL RND
.
.
.
Aqui continua tu programa
.
END
;--------------------------Subrutina RND -----------------------------
-----------------
RND CP 02
JR NC,Laa03
LD A,02
Laa03 LD (Tempbuffer),A
PUSH HL
PUSH DE
PUSH BC
LD DE,(semilla)
LD H,E
LD L,fd
LD A,D
OR A
SBC HL,DE
SBC A,00
SBC HL,DE
SBC A,00
LD E,A
LD D,00
SBC HL,DE
JR NC,Laa22
INC HL
Laa22 LD (semilla),HL
PUSH HL
POP DE
LD A,(Tempbuffer)
DEC A
LD B,A
XOR A
Laa2d ADD HL,DE
JR NC,Laa31
INC A
Laa31 DJNZ Laa2d
POP BC
POP DE
POP HL
RET
semilla db 0,0 ; --> aqui coloca cualquier valor (SeudoReg.R)
Tempbuffer db 0