Motorola HC05 Manual Del Usuario página 43

Iniciación a los microcontroladores de las familias de 8 bits
Tabla de contenido
Cuando un valor se guarda en la pila, se tacha el valor anterior y se escribe el nuevo valor directamente
en una fila horizontal. También se debe actualizar el valor del SP (decrementado). Hay que tachar el valor
anterior y escribir el nuevo valor bajo el registro SP que encabeza a la parte superior de la hoja de trabajo.
Cuando un valor se recupera de la pila, se puede actualizar el valor del SP (incrementado), tachando el valor
anterior y escribiendo el nuevo valor debajo de este. Entonces se puede leer el valor de la posición ahora
apuntada por el SP y poner donde se quiera de la CPU (por ejemplo, en la mitad superior o inferior del PC).
La
Figura 19
muestra cómo quedará la hoja de trabajo después de estar trabajando a través de la
secuencia completa de JSR. Siguiendo los números entre paréntesis, se explica el proceso. Durante el proceso, se
escriben muchos valores y después se tachan; se ha dibujado una línea desde cada número entre paréntesis hasta
cada valor tachado para mostrar a qué número de referencia está aplicado.
Empieza la secuencia:
El PC debe estar apuntando a $0300 [1] y el SP debe estar apuntando a $00FF [2] (son valores aceptados de
inicio).
La CPU lee y ejecuta la instrucción LDA #$02 (carga el acumulador con el valor inmediato $02).
Así que, se puede escribir $02 en la columna del acumulador [3] de la hoja de trabajo y reemplazar el valor
del PC [4] con $0302, que es la dirección de la siguiente instrucción.
La instrucción cargada en el acumulador afecta los bits N y Z del CCR. Puesto que el valor cargado fue $02,
el bit Z y N se pondrán a 0 [5]. Esta información se puede encontrar en la sección LDA (Carga del
Acumulador desde la Memoria) en el capítulo Detalle del Juego de Instrucciones .
Puesto que los otros bits del CCR no están afectados por la instrucción LDA, no hay ninguna manera de
saber como deben estar en este momento, por ahora los signos de interrogación se han puesto en las
posiciones desconocidas [5].
A continuación:
La CPU lee la instrucción JSR SUBBY. Temporalmente recuerda el valor $0305 que es la dirección donde
la CPU debe regresar después de ejecutar la llamada a subrutina. La CPU guarda la parte baja de la
dirección de retorno en la pila.
Así que, se escribe $05 [6] en la posición apuntada por el SP ($00FF) y se decrementa el SP [7] a $00FE.
La CPU guarda la parte alta de la dirección de retorno en la pila.
Figura 19. Hoja de trabajo completa
42
Tabla de contenido
loading

Este manual también es adecuado para:

Hc08

Tabla de contenido