Está en la página 1de 17

Set de

instrucciones
Características y funciones
Set de instrucciones

La colección completa de instrucciones
que son entendidas por una CPU

Código máquina

Binario

Generalmente representado por código
ensamblador
Elementos de una instrucción

Código de operación (opcode)

Referencia a operandos fuente u origen

Referencia al operando de destino o
resultado

Referencia a la siguiente instrucción
¿Dónde están los operandos?

Memoria principal o virtual

Registro del procesador

Inmediato

Dispositivo E/S
Ciclo de instrucción
Ciclo de instrucción
Representación de las
instrucciones

En código máquina cada instrucción tiene
un único patrón de bits

Es usada una representación simbólica
(mnemonics)

Los operandos también son
representados con símbolos
Formato de instrucción simple
Tipos de instrucciones

Procesamiento de datos

Almacenamiento de datos

Movimiento de datos

Control del flujo del programa
Tipos de operandos

Direcciones

Números (enteros o de punto flotante)

Caracteres (ASCII, UTF, etc)

Datos lógicos (bits o flags)
Tipos de operaciones

Transferencia de datos
– Move (transfer): Transfiere una palabra o un bloque desde un
origen a un destino
– Store: Transfiere una palabra desde el procesador a memoria
– Load (fetch): Transfiere una palabra desde memoria al
procesador
– Exchange: Intercambiar los contenidos del origen y el destino
– Clear (reset): Transfiere una palabra de ceros al destino
– Set: Transfiere una palabra de unos al destino
– Push: Transfiere una palabra desde un origen a la cabecera de
la pila
– Pop: Transfiere una palabra desde la cabecera de la pila a un
destino
Tipos de operaciones

Aritméticas
– Add: Calcula la suma de dos operandos
– Substract: Calcula la diferencia de dos operandos
– Multiply: Calcula el producto de dos operandos
– Divide: Calcula el cociente de dos operandos
– Absolute: Sustituye el operando por su valor absoluto
– Negate: Cambia el signo del operando
– Increment: Suma 1 al operando
– Decrement: Resta 1 del operando
Tipos de operaciones

Lógicas
– AND: Realiza la operación lógica Y
– OR: Realiza la operación lógica O
– NOT: Realiza el complemento bit a bit del operando
– Exclusive-OR: Realiza la operación lógica O-Exclusiva
– Test: Comprueba la condición especificada; fija los indicadores (flags) en
función del resultado
– Compare: Realiza la comparación lógica o aritmética de dos o mas
operandos; fija los indicadores (flags) en función del resultado
– Set control variables: Instrucciones que fijan controles para protección,
gestión de interrupciones, control del temporizador, etc.
– Shift: Desplaza el operando a la izquierda o derecha, introduciendo
valores constantes por el otro extremo
– Rotate: Desplaza el operando a la izquierda o derecha de forma cíclica
Tipos de operaciones

Transferencia de control
– Jump (branch): Ruptura incondicional de flujo; carga el registro
de instrucción con la dirección especificada
– Jump Conditional: Comprueba la condición especificada;
dependiendo de la condición, o carga el registro de instrucción
con la dirección indicada o sigue con la próxima instrucción
– Jump to Subroutine: Guarda información del control del
programa en una posición conocida (pila) y salta a la dirección
indicada
– Return: Restituye la información del control del programa por
los de la posición conocida (pila).
– Execute: Capta el operando de la dirección indicada y lo
ejecuta como una instrucción
Tipos de operaciones

Transferencia de control
– Skip: Omite la ejecución de la siguiente instrucción
– Skip Conditional: Omite o no la ejecución de la
siguiente instrucción dependiendo de la condición
indicada
– Halt: Detiene la ejecución del programa
– Wait: Detiene la ejecución del programa; comprueba
de forma repetitiva la condición especificada; reanuda
la ejecución cuando se satisface la condición
– No operation: No se ejecuta operación alguna, pero la
ejecución del programa continua
Tipos de operaciones

Entrada/Salida
– Input: Transfiere datos desde un puerto o
dispositivo de E/S al destino (memoria principal
o registro del procesador)
– Output: Transfiere datos desde el origen
especificado a un puerto o dispositivo de E/S
– Start I/O: Transfiere instrucciones al procesador
de E/S para inicial operaciones de E/S
– Test I/O: Transfiere información de estado desde
el sistema de E/S al destino especificado
Tipos de operaciones

Conversión
– Translate: Traducción de los valores de una
sección de memoria, basada en una tabla de
correspondencia
– Convert: Convierte el contenido de una
palabra de un format a otro

También podría gustarte