Entre las operaciones que se ejecutan en un procesador, algunas no tienen operandos, otras tienen uno, dos o a lo sumo tres. En muchos de los casos los operandos vienen expresados por sus direcciones de memoria, por lo que se suele hablar de instrucciones de una, dos o tres direcciones.
Pueden existir instrucciones sin operando, bien porque el operando no aparezca explícitamente, siendo uno de los registros del procesador, o porque la propia instrucción no lo necesite, como cuando se repite un proceso o se regresa de una llamada a un subprograma.
En el otro extremo se sitúan las operaciones binarias, que precisan tres direcciones para llevarse a cabo: las de sus dos argumentos y la de dónde ha de colocarse el resultado obtenido.
Lo ideal en un juego de instrucciones es que todas tengan el mismo formato. Adoptar, por ejemplo, un juego de instrucciones de tres direcciones es sencillo: basta con ignorar los argumentos a~nadidos para igualar el formato.
También es posible elegir un juego de instrucciones con menos de tres operandos. Las operaciones de tres argumentos se traducen entonces como sigue (considerando una operación aritmética cualquiera): Si el juego de instrucciones es de dos direcciones, éstas representan a ambos argumentos, y el resultado de la ejecución se almacena en laprimera o segunda dirección suministrada.
En las instrucciones de una dirección sólo se especi¯ca la de uno de los argumentos. En el caso de que se trate de una instrucción binaria, se hace necesario usar el registro acumulador que se encuentra en la UAL.
Entonces, se toma como primer argumento el contenido del acumulador, como segundo argumento el contenido de la dirección de memoria dado por la instrucción, y el resultado de la instrucción se almacena en el registro acumulador.
No hay comentarios:
Publicar un comentario