Códigos de operación de longitud fija y variable
Una máquina con un formato de instrucción que dedica n bits al CO permitirá 2n instrucciones diferentes, cada una de las cuales puede tener diferente número de operandos (0, 1, 2, 3, etc.). Los bits del campo.
OPERANDOS se pueden utilizar para extender el CO de aquellas instrucciones con menor número de operandos.
Ejemplo: Partimos de una máquina con instrucciones de longitud fija de 24 bits y consideraremos los siguientes supuestos:
– En este caso se pueden codificar 16 instrucciones de 2 operandos: uno en registro y el otro en memoria
2) Si queremos extender el CO se puede utilizar una de las 16 combinaciones del CO (quedarían 15 con 2 operandos), por ejemplo CO = 1111, dando la posibilidad de codificar 16 instrucciones de 1 operando en memoria. Si queremos seguir extendiendo el CO podemos utilizar CO = 1111 1111 (quedarían 15 con 1 operando) para definir instrucciones sin operandos (216 = 65.536).
En la siguiente tabla se resume el proceso descrito.
Otra alternativa: dedicar 2 bits para indicar si la instrucción tiene 0, 1 o 2 operandos:
L = 00 → CO de 2 bits → 4 instrucciones de 2 operandos
L = 01 → CO de 6 bits → 64 instrucciones de 1 operando
L = 10 → CO de 22 bits → 4.194.304 instrucciones de 0 operandos
Fuente: Estructura de Computadores, Facultad de Informática, UCM