Buenas! tengo dos consultas, la primera es si el calculo de los valores de alfa y beta hay que hacerlo en la subrutina o hacerlos aparte y en la subrutina simplemente usar los valores, la segunda es sobre como guardar un dato en una dirección de memoria,estuve revisando algunos apuntes y viendo algunas clases de openfing pero no logre sacarme la duda,lo que entiendo es que al asignarle un valor a algún registro par estarías "apuntando" a una dirección de memoria de 16 bits,y para guardar el dato en esa dirección solo tengo que guardar el dato en el contenido del registo,por ejemplo si quiero guardar el dato 0xFF en la dirección 0xFFFF simplemente hago DL HL, 0xFFFF y luego DL (HL), 0xFF? o en realidad hay una instrucción dedicada a esto si por ejemplo tengo el dato en el acumulador? Si podrían darme una buena explicación o donde buscar la información pertinente sería de mucha ayuda!
Matías, van las respuestas:
Primera:
alfa y beta se calculan a mano y se usan como constantes. El cálculo de alfa y beta NO lo hace la subrutina.
Segunda:
para escribir en memoria se puede usar las distintas variantes de la instrucción LD (que es una abreviatura de load).
Podés usar cualquiera de las variantes, que encontrás en la página 8 y 9 de la cartilla de instrucciones. Las distintas variantes usan distintos modos de especificar desde dónde o hacia dónde mover un dato. En otras palabras usan diferentes modos de direccionamiento.
Está bien lo que proponés, salvo que es LD y no DL.
Otra forma sería p. ej.
ld a, 0xff
ld (0xffff), a
De repente te viene bien repasar en los slides o en el Z80 Handbook los modos de direccionamiento y tratar de entender las diferencias entre las distintas variantes de LD.
julio
Perfecto Julio! me quedo clarísimo,de todos modos revisaré lo que propones, muchas gracias! Una pequeña consulta más,dónde cargo al tarea en el EVA?
Buenas,
aún no esta disponible el item para entregar las tareas en el EVA, en breves se habilitará un lugar donde subirla y se hará aviso.
Saludos