Está en la página 1de 14

CLASIFICACION DE

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

instrucciones pueden ser: CTRL


• Registro/registro; add r0, r2
• Registro/memoria; add r1, X
• Memoria/memoria; add X, Y
• Registro/inmediato; add r4, 18
• Memoria/inmediato; add X, 25 Puerto E
Puerto S

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

INC Destino, Incremento


DEC Destino, Decremento
ADD Sumando1, Sumando2
LOAD Origen SUB Minuendo, Sustraendo BOUND
STORE Destino MUL Multiplicando, Multiplicador Jxx Destino ENTER
MOV Destino, Origen DIV Dividendo, Divisor CALL Procedimiento LEAVE
PUSH Origen NEG Dato RET LOCK
POP Destino IRET ESC
IN Destino, Puerto
OUT Puerto, Origen INSTRUCCIONES LOGICAS Y DE MANIPULACION DE BITS
XCHG Dato1, Dato2
AND Dato1, Dato2
OR Dato1, Dato2
XOR Dato1, Dato2
NOT Dato

INSTRUCCIONES DE CORRIMIENTO

CORRIMIENTO CORRIMIENTO ROTACION


LOGICO ARITMETICO
ROL Dato
SHLL Dato SHAL Dato ROR Dato
SHLR Dato SHAL Dato
INSTRUCCIONES DE TRANSFERENCIA DE DATOS
• Se utilizan para enviar los datos de una parte del computador a otra
• No alteran los datos
• Después de una transferencia, el origen y el destino de datos contiene el
mismo valor
• Ejemplo:
MOV Destino, Origen; mov r0, r1
LOAD Origen; load X
STORE Destino; store Y
PUSH Origen; push r0
POP Destino; pop r2
IN Destino, Puerto E; in r0, 0xf2
OUT Puerto S, origen; out 0xf1, r1
XCHG Destino, Origen; xchg r2, r3
INSTRUCCIONES DE MANIPULACIÓN DE DATOS
• Transforman los datos de acuerdo a la operación especificada
• Pueden hacer referencia a cero o varios operandos
• Pueden ser:
• Aritméticas
• Lógicas y de manipulación de bits
• De corrimiento
INSTRUCCIONES ARITMETICAS
• Realizan operaciones aritméticas sobre los operandos
• Tratan a los operandos como números con signo
• Ejemplo:
Add r0, r1 ; r0 := r0 + r1
Sub r0, r1 ; r0 := r0 - r1
Mul r0, r1 ; [r0 + r?] := r0 * r1
Div r0, r1 ; r0 := r0 / r1, r? := r0 % r1
Inc r0 ; r0 := r0 + 1
Dec r0 ; r0 := r0 - 1
Neg r0 ; r0 := -r0
INSTRUCCIONES LOGICAS Y DE MANIPULACION DE BITS

• Realizan operaciones lógicas sobre los operandos


• Las operaciones se aplican a nivel de bit
• Tratan a los operandos como secuencias de bits sin signo
• Ejemplo.:
• And R0, R1
• Or R0, R1
• Xor R0, R1
• Not R0
INSTRUCCIONES DE CORRIMIENTO

• Desplazan los bits del operando a la izquierda o a la derecha


• Pueden ser:
• Corrimiento aritmético: Tratan a los operandos como número s con signo
• Shal R0
• Shar R0
• Corrimiento lógico: Tratan a los operandos como secuencias de bits sin signo
• Shll R0
• Shlr R0
• Rotación: Tratan a los operandos como secuencias de bits sin signo
• Rol R0
• Ror R0
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
Jz L1:
If PSW[Z] == 1 PC=L1

Jnz L2
If PSW[Z] == 0 PC = L2

Jump L3
PC = L3
INSTRUCCIONES DE CONTROL DEL PROGRAMA

• Llamada a procedimiento
Main: Proc1:
.. Add r0, r1
.. …
Call Proc1 …
Sub r0, r3


… RET
Call Proc1
Xor r1, r3

INSTRUCCIONES DE CONTROL DEL PROGRAMA

• Llamada al sistema
Main:
.. [int 0x10]:
.. …
Mov ah, 0x0e

Mov al, ‘!’
Int 0x10 …
… IRET


INSTRUCCIONES DE CONTROL DEL SISTEMA
• Se utilizan para controlar el
comportamiento del sistema o
partes de este
• Ejemplo:
• Enter/leave
• Cli/sti
• Lock

También podría gustarte