martes, 5 de marzo de 2013

Instrucciones Principales de lenguaje Ensablador

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