EAPE - FIES
Instrucciones del microprocesador 8088
Ing. Paúl Jean Esquivias Barragán
SEPARATA DE MICROPROCESADORES Instrucciones del microprocesador 8088 Las instrucciones del microprocesador 8088 se dividen en seis categorías: Instrucciones de transferencia de datos Instrucciones aritméticas Instrucciones lógicas Instrucciones de control de flujo Instrucciones de control de procesador Instrucciones de cadenas Instrucciones de transferencia de datos Las instrucciones de transferencia de datos son encargadas de mover datos de un sitio a otro de la computadora como puede ser la memoria , el espacio de entrada y salida y los registros de la CPU. Las instrucciones mas comunes en los programas escritos en lenguaje ensamblador son típicamente estas de transferencia de datos. El conjunto de instrucciones del 8088 incluye catorce instrucciones de transferencia de datos las cuales mueven datos del tamaño de un byte o de una palabra. La tabla 1 muestra las instrucciones de transferencia de datos. Mnemónico/Operandos Descripción Instrucciones MOV destino, fuente Mueve un byte o palabra generales POP destino Saca datos de la pila PUSH inmediato Mete datos en la pila XCHG destino, fuente Intercambia bytes y palabras Entrada / Salida IN acumulador, puerto Lee byte o palabra OUT puerto, acumulador Escribe byte o palabra Dirección LDS destino, fuente Carga apuntador usando ds LEA destino, fuente Carga dirección efectiva LES destino, fuente Carga apuntador usando ds Bandera LAHF Carga ah con algunas banderas POPF Saca banderas de la pila PUSHF Mete banderas en la pila SAHF Almacena ah en banderas Tabla1. Instrucciones de transferencia de datos
Instrucciones aritméticas El 8088 es capaz de sumar, restar, multiplicar y dividir datos de tipo byte o palabra. Este microprocesador suma y resta utilizando datos con signo o sin signo y datos BCD o ASCII. La multiplicación y división se realiza con operandos de 8 o 16 bits con signo, sin signo o números ASCII. La tabla 2 muestra las instrucciones aritméticas
Microprocesadores
Página 1
EAPE - FIES
Instrucciones del microprocesador 8088
Suma
Resta
Multiplicación
División
Ing. Paúl Jean Esquivias Barragán
Mnemónico/Operandos AAA ADC destino, fuente ADD destino, fuente DAA INC destino AAS CMP destino, fuente DAS DEC destino NEG destino SBB destino, fuente SUB destino, fuente AAM
Descripción Ajuste ASCII para la suma Suma con acarreo Suma bytes o palabras Ajuste decimal para la suma Incremento Ajuste ASCII para la resta Compara Ajuste decimal para la resta Decrementa byte o palabra Complemento a dos Resta con pedir prestado Resta Ajuste ASCII para la multiplicación IMUL fuente Multiplica enteros MUL fuente Multiplica AAD Ajuste ASCII para la división CBW Convierte byte a palabra CWD Convierte palabra a doble palabra DIV fuente División IDIV fuente División entera Tabla2. Instrucciones aritméticas
Instrucciones lógicas Son operaciones bit a bit que trabajan sobre octetos o palabras completas. La tabla 3 muestra las instrucciones lógicas. Mnemónico/Operandos Lógicas AND destino, fuente NOT destino OR destino, fuente TEST destino, fuente XOR destino, fuente Corrimiento/Rotación RCL destino, cuenta
Descripción AND Complemento a uno OR Prueba bits OR exclusiva Rota a la izq. A través del acarreo RCR destino, cuenta Rota a la der. A través del acarreo ROL destino, cuenta Rota a la izquierda ROR destino, cuenta Rota a la derecha SAR destino, cuenta Corrimiento aritmético a la derecha SHL/SAL destino, cuenta Corrimiento a la izq./ aritmético a la izq. SHR destino, cuenta Corrimiento a la derecha Tabla3. Instrucciones lógicas
Microprocesadores
Página 2
EAPE - FIES
Instrucciones del microprocesador 8088
Ing. Paúl Jean Esquivias Barragán
Instrucciones de control de flujo Estas instrucciones permiten controlar el flujo de ejecución de un programa. Se clasifican en instrucciones de transferencia incondicional, transferencia condicional, lazo y control de interrupción. La tabla 4 muestra las instrucciones de control de flujo. Transferencia Incondicional
Transferencia Condicional
Lazo
Control de interrupción
Microprocesadores
Mnemónico/Operandos CALL objetivo JMP objetivo RET valor RETN valor
Descripción Procedimiento de llamada Brinco incondicional Regreso de procedimiento Regreso de procedimiento cercano RETF valor Regreso de procedimiento lejano JA/JNBE objetivo corto Brinca si arriba/no abajo o igual JAE/JNB objetivo corto Brinca si arriba o igual/no abajo JB/JNAE objetivo corto Brinca si abajo/no arriba o igual JBE/JNA objetivo corto Brinca si abajo o igual/no arriba JC objetivo corto Brinca si acarreo JE/JZ objetivo corto Brinca si igual/0 JG/JNLE objetivo corto Brinca si mayor/no menor o igual JGE/JNL objetivo corto Brinca si mayor o igual/ no menor JL/JNGE objetivo corto Brinca si menor/ no mayor o igual JLE/JNG objetivo corto Brinca si menor o igual/ no mayor JNC objetivo corto Brinca si no acarreo JNE/JNZ objetivo corto Brinca si no igual/0 JNO objetivo corto Brinca si no hay sobreflujo JNP/JPO objetivo corto Brinca si NOT paridad/ paridad impar JNS objetivo corto Brinca si NOT signo JO objetivo corto Brinca si hay sobreflujo JP/JPE objetivo corto Brinca si hay paridad/ paridad par JS objetivo corto Brinca si signo JCXZ objetivo corto Brinca si cx = 0 LOOP objetivo corto Lazo mientras cx <> 0 LOOPE/LOOPZ objetivo Lazo mientras igual/0 corto LOOPNE/LOOPNZ Lazo mientras no igual/ no 0 objetivo corto INT tipo de interrupción Interrupción INTO Interrupción en sobreflujo IRET Regreso de interrupción Tabla 4. Instrucciones de control de flujo Página 3
EAPE - FIES
Instrucciones del microprocesador 8088
Ing. Paúl Jean Esquivias Barragán
Instrucciones de control de procesador
Hay varias instrucciones para el control de la CPU, ya sea a ella sola, o en conjunción con otros procesadores. Mnemónico/Operandos Descripción CLC Limpia acarreo CLD Limpia dirección (incremento) CLI Limpia habilitación de int. CMC Complementa acarreo STC Pone acarreo STD Pone dirección (decremento) STI Pone habilitación de int. Sincronización ESC inmediato, fuente Escape a coprocesador externa HLT Para procesador LOCK Asegura el bus WAIT Espera al coprocesador Miscelánea NOP No operación Tabla 5. Instrucciones de control del procesador Bandera
Instrucciones de cadenas Transferencia de cadena
Mnemónico/Operandos LODS fuente LODSB LODSW MOVS destino, fuente MOVSB MOVSW STOS destino
Inspección de cadena
Prefijo repetición
Microprocesadores
STOSB STOSW CMPS destino, fuente CMPSB CMPSW SCAS destino SCASB SCASW de REP REPE/REPZ REPNE/REPNZ
Descripción Carga cadena de bytes palabras Carga cadena de bytes Carga cadena de palabras Mueve cadena de bytes palabras Mueve cadena de bytes Mueve cadena de palabras Almacena cadena de bytes palabras Almacena cadena de bytes Almacena cadena de palabras Compara cadena de bytes palabras Compara cadena de bytes Compara cadena de palabras Examina cadena de bytes palabras Examina cadena de bytes Examina cadena de palabras Repite Repite mientras igual/0 Repite mientras no igual/0 Página 4
o
o
o
o
o