Zusammenfassung der Ressource
El
Microprocesador
- tiene un repertorio
de instrucciones
dividido en varios
grupos como:
- Instrucciones de
Transferencia de
Datos
- Estas instrucciones
mueven datos de una
parte a otra del
sistema; desde y hacia
la memoria principal,
de y a los registros de
datos, puertos de E/S y
registros de
segmentación.
- 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).
- Instrucciones Simples
- Estas 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: Sin fin, por conteo, hasta y
mientras
- 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,
Comparacion y Resultado
- 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 Aritmeticas
- Dividida en 6 Grupos (solo se
nombran los grupos y un
ejemplo de cada una
- Grupo de adición: ADD suma; ADC suma
con acarreo; AAA ajuste ASCII para la suma;
DAA ajuste decimal para la suma.
- Grupo de sustracción: SUB resta; SBB resta
con acarreo negativo; AAS ajuste ASCII para la
resta; DAS ajuste decimal para la resta.
- Grupo de multiplicación: MUL
multiplicación; IMUL multiplicación
entera; AAM ajuste ASCII para la
multiplicación.
- Grupo de división: DIV
división; IDIV división entera;
AAD ajuste ASCII para la
división.
- Conversiones: CBW pasar octeto a
palabra CWD pasar palabra a doble
palabra NEG negación
- 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,
Rotacion y Adeudos
- Básicamente
permiten
multiplicar y
dividir por
potencias de
2
- SHL, SAL desplazar a la izquierda (desplazamiento
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.