Instrucciones Principales de lenguaje Ensablador
Las instrucciones de transferencia de
datos son las siguientes:
·
MOV:
transfiere
·
XCHG:
intercambia
·
IN:
entrada
·
OUT:
salida
·
XLAT:
traduce
usando una tabla
·
LEA:
carga
la dirección efectiva
·
LDS:
carga
el segmento de datos
·
LES:
carga
el segmento extra
·
LAHF:
carga
los indicadores en AH
·
SAHF:
guarda
AH en los indicadores
·
PUSH:
FUENTE
(sp)
¬ fuente
· POP:
DESTINO destino ¬ (sp)
Control de Bucles (instrucciones
simples)
Éstas posibilitan el grupo de control
más elemental de nuestros programas. Un bucle es un bloque de código que se
ejecuta varias veces. Hay 4 tipos de bucles básicos:
o Bucles sin fin
o Bucles por conteo
o Bucles hasta
o Bucles mientras
Las instrucciones de control de bucles
son las siguientes:
·
INC:
incrementar
·
DEC:
decrementar
·
LOOP:
realizar
un
bucle
·
LOOPZ,LOOPE: realizar
un bucle si es cero
·
LOOPNZ,LOOPNE: realizar
un bucle si no es cero
·
JCXZ:
salta
si CX
es cero
Instrucciones de Prueba,
Comparación y Saltos.
Este grupo es una continuación del
anterior, incluye las siguientes instrucciones:
·
TEST:
verifica
·
CMP:
compara
·
JMP:
salta
·
JE, JZ: salta
si es igual a cero
·
JNE, JNZ: salta
si no igual a cero
·
JS:
salta
si signo
negativo
·
JNS:
salta
si signo
no negativo
·
JP, JPE: salta
si paridad par
·
JNP, JOP: salta
si paridad impar
·
JO:
salta
si hay
capacidad excedida
·
JNO:
salta
si no
hay capacidad excedida
·
JB, JNAE: salta
si por abajo (no encima o igual)
·
JNB, JAE: salta
si no está por abajo (encima o igual)
·
JBE, JNA: salta
si por abajo o igual (no encima)
·
JNBE, JA: salta
si no por abajo o igual (encima)
·
JL, JNGE: salta
si menor que (no mayor o igual)
·
JNL, JGE: salta
si no menor que (mayor o igual)
·
JLE, JNG: salta
si menor que o igual (no mayor)
· JNLE, JG:
salta si no menor que o igual (mayor)
Instrucciones de Llamado
y Retorno de Subrutinas.
Para que los programas resulten
eficientes y legibles tanto en lenguaje ensamblador como en lenguaje de alto
nivel, resultan indispensables las subrutinas:
·
CALL:
llamada a
subrutina
· RET:
retorno al programa o subrutina que llamó
Instrucciones Aritméticas.
Estas instrucciones son las que
realiza directamente el 8086/8088
a. Grupo de adición:
·
ADD:
suma
·
ADC:
suma
con
acarreo
·
AAA:
ajuste
ASCII para la suma
·
DAA:
ajuste
decimal para la suma
b. Grupo de
sustracción:
·
SUB:
resta
·
SBB:
resta
con
acarreo negativo
·
AAS:
ajuste
ASCII para la resta
·
DAS:
ajuste
decimal para la resta
c. Grupo de
multiplicación:
·
MUL:
multiplicación
·
IMUL:
multiplicación
entera
·
AAM:
ajuste
ASCII para la multiplicación
d. Grupo de división:
·
DIV:
división
·
IDIV:
división
entera
·
AAD:
ajuste
ASCII para la división
e. Conversiones:
·
CBW:
pasar
octeto
a palabra
·
CWD:
pasar
palabra
a doble palabra
·
NEG:
negación
f. Tratamiento de
cadenas:
Permiten el movimiento, comparación o
búsqueda rápida en bloques de datos:
·
MOVC:
transferir
carácter de
una cadena
·
MOVW:
transferir
palabra de
una cadena
·
CMPC:
comparar
carácter de
una cadena
·
CMPW:
comparar
palabra de
una cadena
·
SCAC:
buscar
carácter de
una cadena
·
SCAW:
buscar
palabra de
una cadena
·
LODC:
cargar
carácter de
una cadena
·
LODW:
cargar
palabra de
una cadena
·
STOC:
guardar
carácter de
una cadena
· STOW: guardar
palabra de una cadena
· REP: repetir
·
CLD:
poner
a 0
el indicador de dirección
·
STD:
poner
a 1
el indicador de dirección
Instrucciones Lógicas.
Son operaciones bit a bit que
trabajan sobre octetos o palabras completas:
·
NOT:
negación
·
AND:
producto
lógico
·
OR:
suma
lógica
·
XOR:
suma
lógica
exclusiva
Instrucciones de Desplazamiento,
Rotación y Adeudos.
Básicamente permiten multiplicar
y dividir por potencias de 2
·
SHL, SAL: desplazar
a la izquierda (desplazamient o aritmético)
·
SHR:
desplazar
a la
derecha
·
SAR:
desplazamiento
aritmético
a la derecha
·
ROL:
rotación
a la
izquierda
·
ROR:
rotación
a la
derecha
·
RCL:
rotación
con
acarreo a la izquierda
·
RCR:
rotación
con
acarreo a la derecha
·
CLC:
borrar
acarreo
·
STC:
poner
acarreo
a 1
Instrucciones de Pila.
Una de las funciones de la pila del
sistema es la de salvaguardar (conservar) datos (la otra es la de salvaguardar
las direcciones de retorno de las llamadas a subrutinas):
·
PUSH:
introducir
·
POP:
extraer
·
PUSHF:
introducir
indicadores
·
POPF:
extraer
indicadores
Instrucciones de Control
del microprocesador.
Hay varias instrucciones para el
control de la CPU, ya sea a ella sola, o en conjunción con otros
procesadores:
·
NOP:
no
operación
·
HLT:
parada
·
WAIT:
espera
·
LOCK:
bloquea
· ESC:
escape
Instrucciones de Interrupción.
·
STI:
poner
a 1
el indicador de interrupción
·
CLI:
borrar
el
indicador de interrupción
·
INT:
interrupción
·
INTO:
interrupción
por
capacidad excedida (desbordamiento)
· IRET:
retorno de interrupción
No hay comentarios:
Publicar un comentario