Página 2 de 2

Re: Generación de números aleatorios en Z80 (u otro de 8 bits)

Publicado: 08 Nov 2018, 15:57
por PabloMarmol
Bubu escribió:resulta que R depende del número de instrucciones que se han ejecutado, en cada una se incrementa 1 este registro.
Depende de los bytes que ocupe el opcode, R se incrementará en 1 por cada byte de la instrucción. Las instrucciones cuyo opcode ocupe 2, pues R=R+2, etcétera.
Bubu escribió:Así las cosas, como los pogramas siempre ejecutan exácticamente el mismo número de instrucciones cá vez que los ejecutamos, sisnifica que sieeeempre que leemos la 1ª vez el registro R, siempre tié el mismo valor. Y cuando lo leemos la 2ª vez, siempre tié ese otro valor, etc.

Eso del mismo valor solo pasará si entre lecturas de R no sales de un bucle y ejecutas 128 instrucciones de 1 byte (por ejempo), para que dé una vuelta completa el contador de R, no?
*EDITO*
Vale, ya veo que te referías a leer R al comienzo de un programa, en el caso de que se use un emulador, y que este no aleatorice "el estado de la máquina" al arrancar.

Re: Generación de números aleatorios en Z80 (u otro de 8 bits)

Publicado: 09 Nov 2018, 04:47
por explorer
Bubu escribió:De esa rutina no entiendo esta instrucción ld e, (hl). ¿Aónde está apuntando hl? ¿A la ROM? ¿A la RAM? ¿Y si esa zona está llena de ceros o $FF's?

Da igual dónde esté apuntando... A cualquier parte. Es lo que luego se meterá en E para luego sumarlo a HL.
Al final, es realizar un pequeño cálculo para que dé resultados "aleatorios". Esta vez, tomando la propia memoria RAM y ROM como variables.