Consultas sobre práctica 1

Re: Consultas sobre práctica 1

de Julio Perez -
Número de respuestas: 0

1. Inicialización de SP.

Pensá en cada caso donde se va a escribir en memoria cuando ejecutes un PUSH o un CALL. Pensá hacia qué lado se va a extender el stack a medida que se agreguen nuevos push y call anidados. Tenés que asegurar que no te vas a salir del área de memoria que tenés asignada (0xB000-0xFFFF) y que incluso dentro de esa área el stack no va a sobreescribir áreas de memoria usada para tus programas, variables o tablas.

2. ¿Las constantes solo deben definirse todas en los archivos de prueba individuales, o deben ir en el de subrutinas.s?

Como prefieran. Lo usual y sano es poner todos los EQU juntos para que sea fácil encontrar dónde está definida una constante. En este caso que varios programas comparten las misas definiciones de constantes (p. ej. las direcciones de los puertos) puede tener sentido incluir al comienzo del archivo de subrutinas la definición de las constantes comunes a todos los programas de prueba, y al comienzo de cada programa de prueba la definición de constantes que solo se usan ahí si las hubiera.

3. ¿En binapbcd debemos controlar que los números sean menores a 100 o asumimos que siempre los son, sin verificar nada?

Pueden asumir que son menores que 100

4. ¿En la prueba de despreloj 

Lo más sano sería que reserven lugar memoria para la estructura de datos con segundos, centésimas y bandera, poniendo una etiqueta para poder referirse fácilmente a esa dirección. Después en la inicialización pueden cargar en IX el valor de esa etiqueta. Pueden poner instrucciones para fijar el valor inicial de segundos, centésimas y bandera. Después pueden cambiarlos con comandos del debugger. Tienen también que inicializar el SP.


Espero haber aclarado las dudas, pero si hace falta consulten nuevamente.

Saludos,

julio