Instrucción RST

Durante la ejecución de la instrucción CALL, el contenido del Contador del Programa -PC- (del inglés Program Counter) se guarda en el Stack de la memoria y se carga con el contenido de los bytes dos y tres de la instrucción CALL. La instrucción RST funciona en forma semejante a la instrucción CALL ya que almacena el contenido del Contador del Programa en el Stack y lo carga con una nueva dirección. La diferencia con la instrucción RST es en la forma de obtener la nueva dirección.

Con la instrucción CALL, la 8085A obtiene la dirección en los bytes dos y tres de la propia instrucción mientras que con la instrucción RST la dirección la obtiene al multiplicar por 8 el valor de los bits 3, 4 y 5 del código de la misma instrucción RST. El código de la instrucción RST es el siguiente:

7 6 5 4 3 2 1 0
Código de Restart 1 1 X X X 1 1 1

La instrucción realmente es RST X, en donde X es el valor en decimal de los bits 3, 4 y 5. Con un campo de tres bits se pueden formar 8 instrucciones, desde RST 0 hasta RST 7.

La tabla siguiente muestra las ocho posibilidades con la instrucción RST indicando el código y la dirección que se carga en la computadora. La ventaja de la instrucción RST es que se puede saltar a una de 8 posibles direcciones bien definidas y salvar el contenido del PC en el área de Stack ejecutando una instrucción de un byte en vez de tres bytes como en el caso de la instrucción CALL. En la misma tabla se puede observar que las direcciones que se pueden alcanzar con la instrucción RST tienen entre sí una diferencia de 8H localidades.

Fuente: Apuntes de Arquitectura de computadoras de la FCA de la UNAM