Está en la página 1de 4

INSTRUCCIONES DEL 8086/8088

OPERACIONES ARITMTICAS Y LGICAS


ESTAS INSTRUCCIONES SON REALIZADAS POR LA ALU DE LA MQUINA. LAS PODEMOS CONSIDERAR AGRUPADAS EN VARIOS TIPOS:

OPERACIONES PURAMENTE ARITMTICAS


A ESTE APARTADO PERTENECEN AQUELLAS INSTRUCCIONES QUE REALIZAN OPERACIONES ARITMTICAS CON LOS OPERANDOS, COMO SUMA, RESTA, ETC. ALTERAN LAS BANDERAS DE ESTADO.

INSTRUCCIN-------------FUNCIN
ADC___________________________ SUMAR DOS OPERANDOS Y AADIR EL ACARREO. ADD___________________________ SUMAR DOS OPERANDOS SIN AADIR EL ACARREO. DEC_____________________________ DECREMENTA OPERANDO EN 1. DIV___________________________ DIVISIN SIN SIGNO. IDIV_________________ DIVISIN CONSIDERANDO LOS SIGNOS DE LOS OPERANDOS. IMUL___________ MULTIPLICACIN CONSIDERANDO LOS SIGNOS DE LOS OPERANDOS. INC____________________________ INCREMETA EL OPERANDO EN 1. MUL____________________________ MULTIPLICACIN SIN CONSIDERAR LOS SIGNOS. NEG____________________________ CAMBIAR EL SIGNO DEL OPERANDO. SBB____________________________ RESTA AADIENDO EL ACARREO. SUB____________________________ RESTA SIN ACARREO.

OPERACIONES PURAMENTE LGICAS


PERTENECEN AQUELLAS INSTRUCCIONES QUE REALIZAN OPERACIONES A NIVEL DE BIT (OPERACIONES DE TIPO LGICA O DE ARITMTICA BINARIA) CON LOS OPERANDOS. AL IGUAL QUE LAS ANTERIORES, ALTERAN LAS BANDERAS DE ESTADO.

INSTRUCCIN-------------------FUNCIN
AND________________________________ NOT________________________________ OR_________________________________ XOR________________________________ REALIZA REALIZA REALIZA REALIZA

UN <Y> LGICO. UN <NO> LGICO. UNA <O> LGICA. UNA <O> EXCLUSIVA .

OPERACIONES DE MANEJO DE BITS


AQUELLAS INSTRUCCIONES QUE REALIZAN TRASLACIONES (ROTACIONES) CON LOS BITS DEL OPERANDO.

INSTRUCCIN---------------FUNCIN
RCL_________________________ ROTA A LA IZQUIERDA A TRAVS DEL ACARREO. RCR_________________________ ROL_________________________ ROR_________________________ SAL/SHL_____________________ SAR/SHR_____________________ ROTA A LA DERECHA CONSIDERANDO EL ACARREO. ROTACIN A LA IZQUIERDA. ROTACIN A LA DERECHA. DESPLAZAMIENTO A LA IZQUIERDA. DESPLAZAMIENTO HACIA LA DERECHA.

OPERACIONES DE CONVERSIN
TRANSFORMA EN OTRO TIPO DE
AAA______________________________ AAD______________________________ AAM______________________________ AAS______________________________ CBW______________________________ CWD______________________________ DAA______________________________ DAS______________________________

REPRESENTACIN NUMRICA.
AJUSTA EL VALOR ASCII DE UNA SUMA. AJUSTE DEL VALOR ASCII DE UNA DIVISN. AJUSTE DEL VALOR ASCII DE UNA MULTIPLICACIN. AJUSTE DEL VALOR ASCII DE UNA RESTA. CONVIERTE UN BYTE EN UN WORD. CONVIERTE UN WORD EN UN DOUBLE WORD. AJUSTE DECIMAL EN UNA SUMA. AJUSTE DECIMAL EN UNA RESTA.

INSTRUCCIN-----------------FUNCIN

INSTRUCCIONES DE COMPARACIN
PERMITEN ALTERAR LAS BANDERAS DE ESTADO DE LA MQUINA Y, CON ELLO, TOMAR DECISIONES CAMBIANDO EL FLUJO DE UN PROGRAMA. EL 8086/8088 DISPONE DE LAS SIGUIENTES INSTRUCCIONES DE COMPARACIN:

INSTRUCCIN------------------------FUNCIN

CMP___________________________________ COMPARAR DOS OPERANDOS Y ACTUALIZAR BANDERAS. CMPS__________________________________ COMPARAR CADENAS DE UN BYTE O DE UNA PALABRA. TEST__________________________________ COMPARAR DOS OPERANDOS UTILIZANDO OPERACIN AND.

INSTRUCCIONES DE SALTO
EL 8086/8088 DISPONE DE 36 INSTRUCCIONES DE SALTO QUE PERMITEN CONTROLAR EL FLUJO DE EJECUCIN DE UN PROGRAMA.

SALTO CONDICIONAL
REALIZAN EL SALTO SI SE CUMPLE UNA DETERMINADA CONDICIN. ESTA CONDICIN SE COMPRUEBA ANALIZANDO LAS BANDERAS DE ESTADO.

INSTRUCCIN-------------FUNCIN
JA___________________________ JAE__________________________ JB___________________________ JBE__________________________ JC___________________________ JCXZ_________________________ JE___________________________ JG___________________________ JGE__________________________ JL___________________________ JLE__________________________ JNA__________________________ JNAE_________________________ JNB__________________________ JNBE_________________________ JNC__________________________ JNE__________________________ JNG__________________________ JNGE_________________________ JNL__________________________ JNLE_________________________ JNO__________________________ JNS__________________________ JNZ__________________________ JO___________________________ JP/JPE_______________________ JNP/JPO______________________ JS___________________________ JZ___________________________ SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SALTAR SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SUPERIOR. SUPERIOR O IGUAL. INFERIOR . IFERIOR O IGUAL. HAY ACARREO . CX ES CERO. IGUAL. MAYOR, CONSIDERANDO SIGNOS. MAYOR O IGUAL, CONSIDERANDO SIGNOS. MENOR, CONSIDERANDO SIGNOS. MENOR O IGUAL, CONSIDERANDO SIGNOS. NO SUPERIOR. NO SUPERIOR O IGUAL. NO INFERIOR. NO INFERIOR O IGUAL. NO HAY ACARREO. NO IGUAL. NO MAYOR (CON SIGNO). NO MAYOR O IGUAL (CON SIGNO). NO MENOR (CON SIGNO). NO MENOR O IGUAL (CON SIGNO). NO HAY OVERFLOW (CONSIDERANDO SIGNOS). POSITIVO. NO ES CERO. HAY OVERFLOW (CON SIGNO). PAR. IMPAR. NEGATIVO (SIGNO ACTIVADO). ES CERO.

LOOP_________________________ SALTAR HASTA QUE CX SEA 0. LOOPE/LOOPZ_______ SALTAR HASTA QUE EL RESULTADO DE LA LTIMA OPERACIN SEA IGUAL A CERO. LOOPNZ___________ SALTAR HASTA QUE EL RESULTADO DE LTIMA OPERACIN SEA DISTINTA DE CERO. LOOPNE_______________________ SALTAR HASTA QUE LTIMA COMPARACIN SEA DISTINTO.

SALTO INCONDICIONAL
EL SALTO SE REALIZA SIEMPRE, ES DECIR, SIN COMPROBAR NINGUNA CONDICIN.

INSTRUCCIN----------FUNCIN
CALL__________________ LLAMADA A FUNCIN, CON RETORNO. JMP___________________ SALTO INCONDICIONAL (SALTAR SIEMPRE). RET___________________ RETORNO INCONDICIONAL DE UN PROCEDIMIENTO.

INSTRUCCIONES DE MANEJO DE INTERRUPCIONES


ESTAS INSTRUCCIONES PERMITEN ACTIVAR INTERRUPCIONES O ACCEDER A SERVICIOS DEL SISTEMA O DE LA ROM-BIOS.

INSTRUCCIN-------FUNCIN
INT__________________ GENERA UNA INTERRUPCIN. INTO_________________ GENERA UNA INTERRUPCIN SI DESBORDAMIENTO. IRET_________________ RETORNO DE INTERRUPCIN.

INSTRUCCIONES DE TRANSFERENCIA DE INFORMACIN TRANSFERENCIA USANDO REGISTROS Y/O MEMORIA


REALIZAN MOVIMIENTOS DE DATOS DESDE UN REGISTRO A MEMORIA (O VICEVERSA) Y DESDE UN REGISTRO HACIA OTRO REGISTRO, CON LA SALVEDAD DE QUE NO SE PUEDEN HACER TRANSFERENCIAS DE MEMORIA A MEMORIA. SON LAS SIGUIENTES:

INSTRUCCIN----FUNCIN
LAHF_________________ CARGAR LAS BANDERAS EN AH. LDS__________________ CARGA UN PUNTERO EN DS. LEA__________________ CARGA DIRECCIN EFECTIVA. LES__________________ CARGA UN PUNTERO EN ES. MOV__________________ MOVER UN DATO. POP__________________ EXTRAER DATO DE LA PILA. POPF_____________ EXTRAER DATO DE LA PILA Y ALMACENARLO EN REGISTRO DE BANDERAS. PUSH_________________ ALMACENAR DATO EN LA PILA. PUSHF________________ ALMACENAR REGISTRO DE BANDERAS EN LA PILA. SAHF_________________ ALMACENA EL CONTENIDO DE AH EN EL REGISTRO DE BANDERAS. XCHG_________________ INTERCAMBIAR VALORES DE LOS OPERANDOS. XLAT_________________ TRADUCIR POSICIN.

TRANSFERENCIA USANDO PUERTOS DE E/S


PERMITEN LA COMUNICACIN DEL PROCESADOR CON OTROS ELEMENTOS DEL BUS (COMO CONTROLADORAS Y COPROCESADORES), Y CON LOS PERIFRICOS CONECTADOS AL SISTEMA (COMOIMPRESORAS, RATN, ETC.). UNICAMENTE SON CUATRO, AUNQUE LAS DOS LTIMAS SON ESPECIALIZACIONES DE LAS DOS PRIMERAS:

INSTRUCCIN----FUNCIN
IN_________________ OUT________________ ESC________________ WAIT_______________ ENTRADA DE BYTE O PALABRA DESDE UN PUERTO DE E/S. SALIDA DE BYTE O PALABRA A UN PUERTO DE E/S. ENVIAR INFORMACIN AL COPROCESADOR. ESPERA A UN COPROCESADOR.

TRANSFERENCIAS ESPECIALES
A ESTE APARTADO PERTENECEN AQUELLAS INSTRUCCIONES QUE REALIZAN TRANSFERENCIAS DE DATOS DE FORMA REPETITIVA Y/O UTILIZANDO REGISTROS DE DIRECCIONAMIENTO, COMO EL DI Y EL SI. SON LAS SIGUIENTES:

INSTRUCCIN----FUNCIN
LODS_______________ MOVS_______________ REP________________ REPE_______________ REPNE______________ REPNZ______________ REPZ_______________ SCAS_______________ STOS_______________ CARGA UNA CADENA. MUEVE CADENA DE DATOS. REPETIR OPERACIN DE MANEJO REPETIR OPERACIN DE MANEJO REPETIR OPERACIN DE MANEJO REPETIR OPERACIN DE MANEJO REPETIR OPERACIN DE MANEJO EXPLORA CADENA DE DATOS. ALMACENA CADENA DE DATOS. DE DE DE DE DE CADENAS. CADENAS MIESTRAS CADENAS MIESTRAS CADENAS MIESTRAS CADENAS MIESTRAS IGUAL. NO IGUAL. NO CERO. CERO.

INSTRUCCIONES DE CONTROL DEL MICROPROCESADOR


EN ESTE APARTADO SE ENCUENTRAN AQUELLAS INSTRUCCIONES QUE ALTERAN EL CONTENIDO DEL REGISTRO DE BANDERAS, O QUE AFECTAN AL FUNCIONAMIENTO BSICO DEL PROCESADOR. SE PUEDEN CLASIFICAR, POR TANTO, EN DOS GRUPOS:

OPERACIONES CON LAS BANDERAS


ALTERAN EL CONTENIDO DE LAS BANDERAS.

INSTRUCCIN----FUNCIN
CLC________________ CLD________________ CLI________________ CMC________________ STC________________ STD________________ STI________________ PONE A 0 LA BANDERA DE ACARREO. PONE A 0 LA BANDERA DE DIRECCIN. PONE A 0 LA BANDERA DE INTERRUPCIN. COMPLEMENTA LA BANDERA DE ACARREO. PONE LA BANDERA DE ACARREO A 1. PONE LA BANDERA DE DIRECCIN A 1. PONE LA BANDERA DE INTERRUPCIN A 1.

OPERACIONES CON EL PROCESADOR Y EL BUS


SON INSTRUCCIONES UTILIZADAS PARA COMUNICAR LA CPU CON EL BUS Y CON OTROS PROCESADORES.

INSTRUCCIN-------FUNCIN
HLT__________________ DETIENEN EL PROCESADOR. LOCK_________________ BLOQUEA EL BUS DE DATOS. NOP__________________ OPERACIN SIN CONTENIDO (SLO CONSUME TIEMPO).