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 CONSIDERA R AGRUPADAS EN VARIOS TIPOS: OPERACIONES PURAMENTE ARITMTICAS A ESTE APARTADO PERTENECEN AQUELLAS INSTRUCCIONES QUE REALIZAN OPERACIONES ARITMT ICAS 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________________________________ REALIZA UN <Y> LGICO. NOT________________________________ REALIZA UN <NO> LGICO. OR_________________________________ REALIZA UNA <O> LGICA. XOR________________________________ REALIZA 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_________________________ ROTA A LA DERECHA CONSIDERANDO EL ACARREO. ROL_________________________ ROTACIN A LA IZQUIERDA. ROR_________________________ ROTACIN A LA DERECHA. SAL/SHL_____________________ DESPLAZAMIENTO A LA IZQUIERDA. SAR/SHR_____________________ DESPLAZAMIENTO HACIA LA DERECHA. OPERACIONES DE CONVERSIN TRANSFORMA EN OTRO TIPO DE REPRESENTACIN NUMRICA. INSTRUCCIN-----------------FUNCIN AAA______________________________ AJUSTA EL VALOR ASCII DE UNA SUMA. AAD______________________________ AJUSTE DEL VALOR ASCII DE UNA DIVISN. AAM______________________________ AJUSTE DEL VALOR ASCII DE UNA MULTIPLICACIN. AAS______________________________ AJUSTE DEL VALOR ASCII DE UNA RESTA. CBW______________________________ CONVIERTE UN BYTE EN UN WORD. CWD______________________________ CONVIERTE UN WORD EN UN DOUBLE WORD. DAA______________________________ AJUSTE DECIMAL EN UNA SUMA. DAS______________________________ AJUSTE DECIMAL EN UNA RESTA. INSTRUCCIONES DE COMPARACIN PERMITEN ALTERAR LAS BANDERAS DE ESTADO DE LA MQUINA Y, CON ELLO, TOMAR DECISIONE S CAMBIANDO EL FLUJO DE UN PROGRAMA. EL 8086/8088 DISPONE DE LAS SIGUIENTES INSTRUCCIONES DE COMPARACIN: INSTRUCCIN------------------------FUNCIN CMP___________________________________ COMPARAR DOS OPERANDOS Y ACTUALIZAR BANDE RAS. CMPS__________________________________ COMPARAR CADENAS DE UN BYTE O DE UNA PALA

BRA. TEST__________________________________ COMPARAR DOS OPERANDOS UTILIZANDO OPERACIN AND. INSTRUCCIONES DE SALTO EL 8086/8088 DISPONE DE 36 INSTRUCCIONES DE SALTO QUE PERMITEN CONTROLAR EL FLUJ O DE EJECUCIN DE UN PROGRAMA. SALTO CONDICIONAL REALIZAN EL SALTO SI SE CUMPLE UNA DETERMINADA CONDICIN. ESTA CONDICIN SE COMPRUEB A ANALIZANDO LAS BANDERAS DE ESTADO. INSTRUCCIN-------------FUNCIN JA___________________________ SALTAR SI SUPERIOR. JAE__________________________ SALTAR SI SUPERIOR O IGUAL. JB___________________________ SALTAR SI INFERIOR . JBE__________________________ SALTAR SI IFERIOR O IGUAL. JC___________________________ SALTAR SI HAY ACARREO . JCXZ_________________________ SALTAR SI CX ES CERO. JE___________________________ SALTAR SI IGUAL. JG___________________________ SALTAR SI MAYOR, CONSIDERANDO SIGNOS. JGE__________________________ SALTAR SI MAYOR O IGUAL, CONSIDERANDO SIGNOS. JL___________________________ SALTAR SI MENOR, CONSIDERANDO SIGNOS. JLE__________________________ SALTAR SI MENOR O IGUAL, CONSIDERANDO SIGNOS. JNA__________________________ SALTAR SI NO SUPERIOR. JNAE_________________________ SALTAR SI NO SUPERIOR O IGUAL. JNB__________________________ SALTAR SI NO INFERIOR. JNBE_________________________ SALTAR SI NO INFERIOR O IGUAL. JNC__________________________ SALTAR SI NO HAY ACARREO. JNE__________________________ SALTAR SI NO IGUAL. JNG__________________________ SALTAR SI NO MAYOR (CON SIGNO). JNGE_________________________ SALTAR SI NO MAYOR O IGUAL (CON SIGNO). JNL__________________________ SALTAR SI NO MENOR (CON SIGNO). JNLE_________________________ SALTAR SI NO MENOR O IGUAL (CON SIGNO). JNO__________________________ SALTAR SI NO HAY OVERFLOW (CONSIDERANDO SIGNOS). JNS__________________________ SALTAR SI POSITIVO. JNZ__________________________ SALTAR SI NO ES CERO. JO___________________________ SALTAR SI HAY OVERFLOW (CON SIGNO). JP/JPE_______________________ SALTAR SI PAR. JNP/JPO______________________ SALTAR SI IMPAR. JS___________________________ SALTAR SI NEGATIVO (SIGNO ACTIVADO). JZ___________________________ SALTAR SI 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 SI STEMA 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 TRANS FERENCIAS 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 CONTROLA DORAS Y COPROCESADORES), Y CON LOS PERIFRICOS CONECTADOS AL SISTEMA (COMOIMPRESOR AS, RATN, ETC.). UNICAMENTE SON CUATRO, AUNQUE LAS DOS LTIMAS SON ESPECIALIZACIONE S DE LAS DOS PRIMERAS: INSTRUCCIN----FUNCIN IN_________________ ENTRADA DE BYTE O PALABRA DESDE UN PUERTO DE E/S. OUT________________ SALIDA DE BYTE O PALABRA A UN PUERTO DE E/S. ESC________________ ENVIAR INFORMACIN AL COPROCESADOR. WAIT_______________ 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_______________ CARGA UNA CADENA. MOVS_______________ MUEVE CADENA DE DATOS. REP________________ REPETIR OPERACIN DE MANEJO DE CADENAS. REPE_______________ REPETIR OPERACIN DE MANEJO DE CADENAS MIESTRAS IGUAL. REPNE______________ REPETIR OPERACIN DE MANEJO DE CADENAS MIESTRAS NO IGUAL. REPNZ______________ REPETIR OPERACIN DE MANEJO DE CADENAS MIESTRAS NO CERO. REPZ_______________ REPETIR OPERACIN DE MANEJO DE CADENAS MIESTRAS CERO. SCAS_______________ EXPLORA CADENA DE DATOS. STOS_______________ ALMACENA CADENA DE DATOS. INSTRUCCIONES DE CONTROL DEL MICROPROCESADOR EN ESTE APARTADO SE ENCUENTRAN AQUELLAS INSTRUCCIONES QUE ALTERAN EL CONTENIDO D EL 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________________ PONE A 0 LA BANDERA DE ACARREO. CLD________________ PONE A 0 LA BANDERA DE DIRECCIN. CLI________________ PONE A 0 LA BANDERA DE INTERRUPCIN. CMC________________ COMPLEMENTA LA BANDERA DE ACARREO. STC________________ PONE LA BANDERA DE ACARREO A 1. STD________________ PONE LA BANDERA DE DIRECCIN A 1.

STI________________ 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 PROCES ADORES. INSTRUCCIN-------FUNCIN HLT__________________ DETIENEN EL PROCESADOR. LOCK_________________ BLOQUEA EL BUS DE DATOS. NOP__________________ OPERACIN SIN CONTENIDO (SLO CONSUME TIEMPO).