Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INSTRUCCIONES
INSTRUCCIONES DE UN PROCESADOR
• Las instrucciones son especificaciones que se da a un procesador en
las que se debe indicar:
• La operación que debe realizar
• Los operandos que debe utilizar para realizar la operación indicada
• El lugar donde se almacenará el resultado de la operación
• El conjunto de instrucciones varía de un procesador a otro, según el
propósito del procesador.
• Los procesadores pueden ser:
• De propósito general
• De propósito específico
INSTRUCCIONES DE UN PROCESADOR
MEMORIA PRINCIPAL
Instrucciones
• Los operandos pueden estar en diversas partes del
computador: Variable
V[0]
• Memoria V[1]
V[2]
• Variable V[3]
• Estructuras de datos en memoria Pila
• Instrucciones
• Pila CPU
• Registros de propósito general RI DIR
• Puertos de entrada/salida
• De acuerdo a la ubicación de los operandos, las RPG
DAT
DISP. E/S
CLASIFICACION DE INSTRUCCIONES
CLASIFICACION DE INSTRUCCIONES
INSTRUCCIONES DE INSTRUCCIONES DE MANIPULACION DE DATOS INSTRUCCIONES INSTRUCCIONES
TRANSFERENCIA DE DE CONTROL DEL DE CONTROL DEL
DATOS PROGRAMA SISTEMA
INSTRUCCIONES ARITMETICAS
INSTRUCCIONES DE CORRIMIENTO
• Ejemplos:
• Corrimiento aritmético
SHAR (DESPLAZAMIENTO ARITMETICO A
SHAL (DESPLAZAMIENTO ARTITMETICO A LA IZQUIERDA)
LA DERECHA)
//PRE:
//PRE:
R0 = 0011 1011 == +059
R0 = 0011 1011 == +059
SHAL R0
SHAR R0
R0 = 0111 0110 == +118
R0 = 0001 1101 == +029
//PRE:
//PRE:
R1 = 1110 0110 == -26
R1 = 1110 0110 == -026
SHAL R1
SHAR R1
R1 = 1100 1100 == -52
R1 = 1111 0011 == -013
INSTRUCCIONES DE CORRIMIENTO
• Ejemplo
• Corrimiento lógico
SHLR (CORRIMIENTO LOGICO A LA DERECHA)
• Ejemplo:
• Rotación
ROL (ROTACION A LA IZQUIERDA) ROR (ROTACION A LA DERECHA)
//PRE: //PRE:
R0 = 0011 1011 R0 = 0011 1011
R1 = 1110 0110 R1 = 1110 0110
ROL R0 ROR R0
R0 = 0111 0110 R0 = 1001 1101
ROL R1 ROR R1
R1 = 1100 1101 R1 = 0111 0011
INSTRUCCIONES DE CONTROL DEL PROGRAMA
• Controlan el flujo de ejecución de los programas
• El operando se trata como una dirección o etiqueta destino de salto
• Pueden ser:
• Salto condicional: Si el salto es efectivo, modifican el PC con la etiqueta
destino de salto
• Llamada a procedimientos: saltan a un módulo fuera de programa principal,
pero en su contexto
• Llamadas al sistema: saltan a un módulo del sistema operativo, fuera de
programa y de su contexto
INSTRUCCIONES DE CONTROL DEL PROGRAMA
• Salto condicional Instrucción j
Instrucción fuera
del bucle
Bloque de WHILE
instrucciones Bloque de Inicializar variables
instrucciones F de condicion
Condicion
Jnz L2
V
DO - WHILE
If PSW[Z] == 0 PC = L2
Instrucción k Cuerpo del bucle
Cuerpo del bucle
Instrucción j
Modificar variables
de condicion Modificar variables
Expresion de condicion
Jump L3
Bloque de
PC = L3
Valor 01
instrucciones
CONDICION V
Bloque de Instrucción fuera
Valor 02
instrucciones del bucle
F
Bloque de
Otro
instrucciones
Instrucción fuera
del bucle
Instrucción k
INSTRUCCIONES DE CONTROL DEL PROGRAMA
• Ejemplo de instrucciones de salto:
INSTRUCCIONES DE CONTROL DEL PROGRAMA
• Llamada a procedimiento
PROGRAMA
.. Add r0, r1 I1
I7
.. …
Call Proc1 …
I2
I8
Sub r0, r3
… PC CALL
… I9
… RET
RET PC
Call Proc1 I4
I4 Pila
Xor r1, r3
… I5
I6
INSTRUCCIONES DE CONTROL DEL PROGRAMA
• Llamada al sistema