La computadora básica tiene un registro de instrucciones (IR) de 16 bits que puede indicar una referencia de memoria o una referencia de registro o una instrucción de entrada-salida.
- Referencia de memoria: estas instrucciones se refieren a la dirección de memoria como un operando. El otro operando siempre es acumulador. Especifica la dirección de 12 bits, el código de operación de 3 bits (que no sea 111) y el modo de direccionamiento de 1 bit para el direccionamiento directo e indirecto.
Ejemplo:
el registro IR contiene = 0001XXXXXXXXXXXX, es decir, AGREGAR después de obtener y decodificar la instrucción, descubrimos que es una instrucción de referencia de memoria para la operación AGREGAR.Hence, DR ← M[AR] AC ← AC+ DR, SC ← 0
- Referencia de registro: estas instrucciones realizan operaciones en registros en lugar de direcciones de memoria. El IR(14 – 12) es 111 (lo diferencia de la referencia de memoria) y el IR(15) es 0 (lo diferencia de las instrucciones de entrada/salida). Los 12 bits restantes especifican la operación de registro.
Ejemplo:
el registro IR contiene = 0111001000000000, es decir, CMA después del ciclo de obtención y decodificación, descubrimos que es una instrucción de referencia de registro para el acumulador complementario.Hence, AC ← ~AC
- Entrada/Salida: estas instrucciones son para la comunicación entre la computadora y el entorno exterior. El IR(14 – 12) es 111 (lo diferencia de la referencia de memoria) y el IR(15) es 1 (lo diferencia de las instrucciones de referencia de registro). Los 12 bits restantes especifican la operación de E/S.
Ejemplo:
el registro IR contiene = 1111100000000000, es decir, INP después del ciclo de búsqueda y decodificación, descubrimos que es una instrucción de entrada/salida para ingresar caracteres. Por lo tanto, ENTRADA el carácter del dispositivo periférico.
El conjunto de instrucciones incorporadas en el registro IR de 16 bits son:
- Instrucciones aritméticas, lógicas y de desplazamiento (y, sumar, complementar, circular a la izquierda, a la derecha, etc.)
- Para mover información hacia y desde la memoria (almacenar el acumulador, cargar el acumulador)
- Instrucciones de control de programa con condiciones de estado (branch, skip)
- Instrucciones de entrada y salida (carácter de entrada, carácter de salida)
Símbolo | Código hexadecimal | Descripción | |
---|---|---|---|
Y | 0xxx | 8xxx | Y palabra de memoria a AC |
AGREGAR | 1xxx | 9xxx | Agregar palabra de memoria a AC |
LDA | 2xxx | Axxx | Cargar palabra de memoria a AC |
ESTA | 3xxx | Bxxx | Almacenar contenido de CA en la memoria |
BOLLO | 4xxx | Cxxx | Rama incondicionalmente |
BSA | 5xxx | Dxxx | Sucursal y Guardar Dirección de Remitente |
ISZ | 6xxx | Exxx | Incrementar y saltar si 0 |
ALC | 7800 | Limpiar CA | |
CLÉ | 7400 | Borrar E (bit de desbordamiento) | |
CMA | 7200 | Complemento CA | |
CME | 7100 | Complemento E | |
CIR | 7080 | Circula a la derecha AC y E | |
CIL | 7040 | Circular izquierda AC y E | |
CÍA | 7020 | Incrementar CA | |
SPA | 7010 | Omitir la siguiente instrucción si AC > 0 | |
SCN | 7008 | Omitir la siguiente instrucción si AC < 0 | |
SZA | 7004 | Omitir la siguiente instrucción si AC = 0 | |
TAMAÑO | 7002 | Omitir la siguiente instrucción si E = 0 | |
HLT | 7001 | Detener la computadora | |
EN P | F800 | Carácter de entrada a AC | |
AFUERA | F400 | Carácter de salida de AC | |
ESQUÍ | F200 | Omitir en el indicador de entrada | |
SKO | F100 | Saltar en la bandera de salida | |
ION | F080 | interrupción en | |
IOF | F040 | interrupción desactivada |