Memoria y prueba de la tarea

Memoria y prueba de la tarea

de Ignacio Olveira Maldonado -
Número de respuestas: 2

Quería saber si la memoria donde chequeamos si es mayor o no en la tarea esta reservada y no se puede modificar, ya que mientras probaba para ver si el programa funcionaba como debería se me ocurrió que podría cargar en algún lugar de la memoria que recorro un valor menor a alfa y correr el programa y ver cuantos valores fueron mayor, luego en el mismo lugar que cargue anteriormente, cargar uno mayor a alfa y correr el programa y finalmente chequear si los valores que fueron mayor en la primera parte difieren de la segunda  se que esta funcionando bien.

Pero cuando trato de cargar un valor en esas memorias no me lo guarda, como que ignora la carga y sigue con el valor que estaba.

Estoy haciendo lo siguiente para cargar la dirección;

LD A, (valor menor a alfa)

LD (0x00d4),A

Donde (0x00d4) es una de las  direcciones que recorro.

sin importar que valor le cargue a A siempre cuando chequeo el valor de las direcciones esas están iguales.  

En respuesta a Ignacio Olveira Maldonado

Re: Memoria y prueba de la tarea

de Julio Perez -

Ignacio:

el simulador que están utilizando no simula solamente el procesador Z80, sino que simula una computadora completa, con su memoria ROM y memoria RAM.

En esa computadora, los 16KB más bajos del espacio de memoria (el rango 0x0000-0x3FFF) son memoria ROM. El contenido de esa ROM es el programa de inicio de esa computadora. Entonces, las instrucciones LD que tu estás ejecutando intentan escribir en memoria, pero el contenido de la ROM no cambia.

Para verificar que el programa funcione bien pueden hacer alguna de las siguientes cosas:

- examinar el contenido de la memoria en el área que les tocó y, a mano, calcular cuál debería ser el resultado. Sin duda es tedioso pero se puede. Pueden modificar momentáneamente el valor de alfa para trabajar sobre un área de memoria más pequeña. Si hacen eso recuerden volverlo al valor correcto antes de entregar.

- elegir un lugar de memoria en RAM y trabajar en esa área de memoria para probar el programa, modificando antes el contenido de memoria a gusto mediante otro programa. De nuevo, no olviden volver todo a los valores especificados antes de entregar.

- si bien nuestro programa no puede escribir en la ROM, el simulador nos permite modificar el contenido de la ROM usando el comando "set" del GDB. Vean los detalles de cómo usarlo en el capítulo "3. Utilización del debugger" de la guía. Podés volver a tu idea original usando ese comando del debugger en lugar de un programa con instrucciones LD.

Espero que ayude.

julio