Microprocesadores
INSTRUCCIONES
3.1 Concepto
Son aquellos nemónicos que son convertidos por el ensamblador en
código máquina que puede ejecutar el núcleo del micro controlador.
3.2 Clasificación
3.
2.1 De transferencia
Se utilizan para efectuar la transferencia de datos, copian datos de un origen a
un destino sin modificar dicho origen. Pueden transferir palabras, fracciones de
palabras o bloques de palabras.
En los cuales se encuentran:
v
MOV:
Transfiere el operando fuente al destino (mueve datos).
v
PUSH:
Introduce un dato en la cabecera de la pila (mete datos a la pila).
v
POP:
Saca un dato de la cabecera de la pila (saca datos de la pila).
v
XCHG (Intercambio):
Intercambia el contenido de dos operandos. v
STORE:
copia el contenido de un registro a memoria.
v
LOAD:
copia el contenido de una posición de memoria a un registro.
v
MOVE BLOCK:
copia un bloque de datos de una posición de memoria a
otra.
v
MOVE MULTIPLE:
copia del origen en varias posiciones de memoria.
v
CLEAR:
pone a 0 el destino. (Todos los bits)
v
SET: pone a 1 el destino. (Todos los bits)
v
LEA
: carga en un registro especificado la dirección efectiva especificada
como en el operando origen.
3.2.2 Aritméticos
Son efectuados por la unidad aritmética l lógico ALU, se utilizan para
realizar operaciones aritméticas sobre los operandos. Se caracterizan por modificar las
banderas, de acuerdo al resultado.
En los cuales se encuentran: v
ADD
: Suma los dos operandos y guarda el resultado en el operando destino.
v
ADC
: Suma los dos operandos y suma uno al resultado, en caso de que exista acarreo.
v
SUB
: Resta el operando fuente del destino.
v
SBB
: Resta los operandos y resta uno al resultado, en caso de que exista acarreo, se
utiliza cuando se trabaja con cantidades de 32bits.
v
MUL: Multiplicación sin signos, no toma en cuenta el signo del operandos que se
multiplican.
v
IMUL
: Multiplicación de dos enteros con signos, toma en cuenta los signos de las
cantidades que se multiplican.
v
DIV
: División sin signo, si el divisor es de 8 bits se toma como dividendo el registro de 16 bits AX y si el divisor es de 16 bits se tomará como dividendo el registro par DX: AX.
v
IDIV
: División con signo, y de igual forma utiliza los mismos registros que la instrucción
DIV.
v
INC
: Incrementa, suma 1 al contenido de un registro o de una posición de memoria.
v
DEC
: Decrementa, resta 1 al contenido de un registro o de una posición de memoria.
v
NEG
: Genera el complemento a 2 del operando destino y lo almacena en este mismo
operando.
3.2.3 Lógicas
En este grupo de incluyen las instrucciones de conjunción, disyunción, exclusiva
y negación. Realizan operaciones booleanas de bit a bit entre dos operandos.
En los cuales se encuentran:
v
AND:
Realiza una conjunción, una operación de “Y” lógico entre el operando origen y el
operando destino.
v
OR: Realiza una disyunción, una operación de “O” lógico a nivel de bits entre los dos
operandos, almacenándolo en el operando destino.
v
XOR:
Realiza disyunción exclusiva, una operación de “O” lógico a nivel de bits entre los
dos operandos.
v
NOT:
Lleva acabo la negación bit por bit del operando destino y se almacena en este
mismo operando.
3.2.3 De transferencia de control o salto
Permiten modificar la secuencia normal de ejecución de un programa, puede hacerse por salto condicional relativo o absoluto.
Se clasifican en los siguientes grupos:
v
SALTOS:
Pueden ser condicionales o incondicionales.
Condicionales:
Salta si la condición se cumple, los más frecuentes son: jcond
o bcond.
Incondicionales:
Salta sin comprobar ninguna condición, los más frecuentes
con:
jmp...
Regístrate para leer el documento completo.