Instrucciones de Transferencia de Datos.
Estas instrucciones mueven datos de una parte a otra del sistema; desde y hacia la memoria principal, de y alos registros de datos, puertos de E/S y registros de segmentación.
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)
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:
• Bucles sin fin
• Bucles por conteo
• Bucles hasta
• 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
1• 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
2• 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 (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.
3Una 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