Slides:



Advertisements
Presentaciones similares
Organización de la unidad central de procesamiento (CPU)
Advertisements

Instrucciones de operación sobre datos
Assembler Set de Instrucciones.
REGISTROS INTERNOS DEL PROCESADOR.
CLASE 7 CONJUNTO DE INSTRUCCIONES. TRANSFERENCIA
TEMA 2 Arquitectura de un Ordenador
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
Programación en ensamblador
ARQUITECTURA INTEL Modos de direccionamiento
Programación en Lenguaje Ensamblador.
PROG. EN ENSAMBLADOR Ing. Pablo Cesar Tapia Catacora.
Composición Interna de un Procesador
SEMANA 05_2.

Lenguaje Ensamblador integrantes: Esthela Vianey Vázquez Medina No.30
Evidencia no. 5 modos de direccionamiento Paréntesis para poder resolverla ADD OP-DESTINO, OP.FUENTE OP1 OP2 SUMA= ADD ¿Cómo funciona? Op_Destino=Op_Destino+Op.Fuente.
ISA (Instruction Set Architecture)
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
MODOS DE DIRECCIONAMIENTO

Arquitectura del 8086/8088 El 8086 Arquitectura de computadoras II
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
MIPS Intermedio.
Introducción al lenguaje ensamblador
Tema 2: INTRUCCIONES Profesor: Carlos Concha S LENGUAJES DE BAJO NIVEL.
2.2 Registro de Banderas Conjunto de bits que nos dan información sobre el estado del procesador y sobre el resultado de la última operación efectuada.
Unidad 2: Organización del CPU
MODOS DE DIRECCIONAMIENTO
Instrucciones: FORMATO DE INSTRUCCIONES
Instrucciones de Pentium
MICRO de 8 bits Funcionamiento interno de un microprocesador de 8 bits. Para comprender mejor el funcionamiento, interno de un microprocesador , se propone.
Instrucciones Aritméticas Instrucciones Aritméticas Instrucciones Aritméticas Instrucciones Aritméticas Instrucciones Transferencia de Datos Instrucciones.
Lenguaje Ensamblador Unidad 2
Arquitectura del 8086/8088 TEEL 4011
Conceptos Arquitectónicos del computador
Lenguaje de Programación cap. 1 Estructura del Computador.
PBN © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS.
Microprocesador (80X86) Universidad Nacional de Ingeniería
PBN © Jaime Alberto Parra Plaza CLASE 9 INSTRUCCIONES ARITMÉTICAS. GENERACIÓN DE EXPRESIONES.
Estructura de Computadores Comandos DEBUG Programación en Assembler Profesora : Tatiana Marín R.

Tema 1: DATOS Y REGISTROS
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.

INTRODUCCION AL AMBIENTE DE BAJO NIVEL ® M.C.C. Sergio Luis Castillo Valerio Esta presentación puede reproducirse libremente siempre que se mantengan estos.
MODOS DE DIRECCIONAMIENTO
A este registro se le conoce también como registro de estado. Consta de 16 bits y únicamente 9 de ellos contiene información, indican el estado de la.
introducción al Lenguaje Ensamblador
MODOS Y METODOS DE DIRECCIONAMIENTO
Microprocesador (8086) Universidad Nacional de Ingeniería
Sistemas Operativos Ensamblador. Junio de 2005Cesar Guisado2 Ventajas del Ensamblador La primera razón para trabajar con ensamblador es que proporciona.
1 Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas M.C. Juan Carlos Olivares Rojas.
SEMANA 01_2.
TEMA : ARQUITECTURA DE COMPUTADORAS

introducción al Lenguaje Ensamblador
Introducción a la Arquitectura Intel x86 © M.C.C. Sergio Luis Castillo Valerio Esta presentación puede reproducirse libremente siempre y cuando se mantenga.
Aprende el arte de la ingeniería inversa
En las computadoras el formato natural para la aritmética es el binario. Sin embargo, para muchos propósitos, los datos numéricos se introducen desde el.
Etapas de solución de un problema. Módulo o secciones de un algoritmo.
El microprocesador y su arquitectura
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Arquitectura de PCs Lenguaje ASM Intel Lenguaje de máquina y ASM Toda CPU interpreta su código de máquina propio Instrucciones en código de máquina.
Clase 7 Assembly - Simulador MSX88.
Clase 6 Assembly - Simulador MSX88 Subrutinas.
Arquitectura 2014 Explicación 1.
UNIVERSIDAD NACIONAL SAN ANTONIO ABAD DE CUSCO ESCUELA PROFESIONAL INGENIERIA INFORMATICA Y DE SISTEMAS ESTUDIANTE : JAVIER WILLIAN HUAMAN HUAYLLANI TEMA.
Instrucciones de Corrimiento
Transcripción de la presentación:

Conjunto de Instrucciones MC José Andrés Vázquez Flores

Introducción Sintaxis: Mnemónicos, Operandos Mnemónico. Nombre de la instrucción, generalmente es la abreviación de la acción que se quiere realizar. Abreviaciones: (operandos) reg registro de 8 o 16 bits (no incluidos los registros segmento y los índice) regseg registro segmento regind registro índice mem localidad de memoria [dir], byte [reg], word [reg] dato operando de 8 o 16 bits dir dirección de 16 bits con contador que puede ser 1, cl o cx [ ] contenido de

Instrucciones de transferencia MOV (move). Realiza el movimiento (copia) de la información. Sintaxis: MOV destino, origen MOV reg1, mem/reg2/regind/regseg/dato MOV mem, reg/regseg/regind MOV regseg, mem/regind/regseg/regp1 Ejemplo: MOV AX,BX MOV CH, [100] MOV AX, [100] MOV [300], BX MOV [SI], BX MOV DS, [AX] MOV DS, BX

Instrucciones de transferencia LEA. Carga un registro de 16 bits con una dirección específica. Sintaxis: LEA reg, dir Ejemplo: LEA BX, [100] BX100 MOV AX, 128 es equivalente a LEA AX, [128]  XCHG. Intercambia el contenido de la información. Sintaxis: XCHG reg/regind, reg/mem/regind XCHG mem, reg/regind Ejemplo: XCHG AX, CX

Instrucciones de transferencia PUSH. Coloca en el tope del stack el contenido de un registro de 16 bits. Sintaxis: PUSH regp1/regseg/mem/regind Ejemplo: PUSH AX PUSH CS PUSH [SI] POP. Coloca en algún registro de 16 bits el contenido del stack. Sintaxis: POP regp1/regseg/regind/mem

Instrucciones de transferencia Ejemplo: POP AX POP SI POP [100] LAHF. Coloca las banderas del orden bajo en el registro AH. Sintaxis: LAHF SAHF. Coloca el contenido de AH en la parte baja del registro de banderas. Sintaxis: SAHF

Instrucciones de transferencia PUSHF. Coloca el contenido del registro de banderas en el stack (primero la parte alta y después la parte baja). Sintaxis: PUSHF POPF. Coloca el contenido del stack en el registro de banderas (el primer byte del stack en la parte baja y el Segundo byte en la parte alta). Sintaxis: POPF

Instrucciones aritméticas ADD. Realiza la suma entre dos operandos. Sintaxis: ADD reg/regind, reg/mem/regind/dato ADD mem, reg/regind Ejemplo: ADD AX, BX ADD [100], AH ADC. Realiza la suma entre dos operandos y el carry, la sintaxis es equivalente a la del ADD. (ADD op1+op2+cy) ADC BH, F0

Instrucciones aritméticas SUB. Realiza la resta entre dos operandos, la sintaxis es equivalente a la del ADD. Ejemplo: SUB AX, BX SUB [BX], CX SBB. Realiza la resta entre dos operandos y el carry, la sintaxis es equivalente a la del ADD. (op1-op2-cy). SBB BH, CL SBB CX, [SI]

Instrucciones aritméticas INC. Incrementa en 1 un operando. Sintaxis: INC reg/regind/mem Ejemplo: INC CX INC SI INC BYTE[100] DEC. Decrementa en uno el operando, la sintaxis es equivalente a la de la instrucción INC. DEC WORD[200] DEC BX

Instrucciones aritméticas NEG. Obtiene el complemento a 2 del operando. Sintaxis: NEG reg/regind/mem Ejemplo: NEG AX NEG BYTE[100] MUL. Multiplica dos datos, esta multiplicación es sin signo. Sintaxis: MUL reg/regind/mem La multiplicación se lleva a cabo de la siguiente forma: AX  AL * reg (de 8 bits) DXAX  AX * reg (de 16 bits)

Instrucciones aritméticas Ejemplo: MUL BH MUL WORD[SI] MUL CX IMUL. Multiplica dos datos con signo, la sintaxis es equivalente a la del MUL. IMUL DL IMUL BYTE[200]

Instrucciones aritméticas DIV. Divide un operando que esta en AX o DX:AX entre su único argumento. Sintaxis: DIV reg_8bits AL AX/reg_8bits y AH<- residuo DIV reg_16bits AXDX:AX/reg_16bits y DX <-resto

Instrucciones aritméticas AND. Realiza la operación AND entre dos operandos. Sintaxis: AND reg/regind, reg/mem/regind/dato AND mem, reg/regind Ejemplo: AND AX, [SI] AND DL, BH AND CX, 1

Instrucciones aritméticas OR. Realiza la operación OR entre dos operandos, su sintaxis es equivalente a la de la instrucción AND. Ejemplo: OR AX, BX OR SI, [DI] NOT. Niega el valor del operando. Obtiene el complemento a 1 del operando. Sintaxis: NOT reg/regind/mem

Instrucciones aritméticas Ejemplo: NOT AX NOT WORD[SI] XOR. Obtiene el or exclusivo de dos operandos (valores iguales da 0, valores diferentes da 1), su sintaxis es equivalente a la del AND. XOR AH, CL XOR [100], SI

Instrucciones de comparación CMP. Realiza la comparación entre dos operandos, esta instrucción puede modificar el registro de banderas. Sintaxis: CMP reg/mem/regind, reg/dato CMP mem, reg/dato/regind La instrucción CMP realiza una resta del primer operando menos el segundo operando, alterando el valor de las banderas.

Instrucciones de comparación Ejemplo: CMP BYTE[100], 6 CMP AH, 7 (ah – 7) CMP [CX], BX

Instrucciones de salto JMP. Realiza la transferencia del programa, esto es, cambia la secuencia de ejecución. Al registro IP se le asigna la dirección del argumento del JMP. Sintaxis: JMP dir/regp1/regind/mem Ejemplo: JMP 120 JMP [BX] JMP SI

Instrucciones de salto JA o JNBE. Salta si la bandera del carry es uno. JBE o JNA. Salta si la bandera del carry o del cero tienen valor 1. JCXZ. Salta si el registro CX es cero. JE o JZ. Salta si la bandera del cero es 1. JG o JNLE. Salta si la bandera de cero es cero y la bandera de signo es igual a la bandera del overflow. Salta si es mayor o si no es menor o igual.

Instrucciones de salto JGE o JNL. Salta si la bandera del signo es igual a la del overflow. Salta si es mayor o igual. JL o JNGE. Salta si la bandera del signo es diferente a la del overflow. Salta si es menor. JLE o JNG. Salta si la bandera del cero es uno o si la bandera del signo es diferente a la del overflow. Salta si es menor o igual. JNE o JNZ. Salta si la bandera de cero es igual a cero. Salta si no es igual. JNO. Salta si la bandera del overflow es cero.

Instrucciones de salto JNP o JPO. Salta si la bandera de paridad es cero. JNS. Salta si la bandera de signo es cero. JO. Salta si la bandera del overflow es uno. JP o JPE. Salta si la bandera de paridad es uno. JS. Salta si la bandera de signo es uno. (negativo) Nota: Todas las instrucciones de salto tienen su sintaxis equivalente a la de JMP.

Ciclos Loop. Repite un bloque de instrucciones cx veces. Si cx=cero termina el ciclo. Al ejecutarse la instrucción LOOP se decrementa cx y se verifica si ya llego a cero, si es asi termina, sino continua el ciclo. Sintaxis. LOOP dirección Ejemplo: mov ax,0 mov cx,10 Ciclo: inc ax loop ciclo

Procedimientos Definición. Conjunto de instrucciones que pueden ser ejecutadas desde otro programa. En el 8088/86 se tienen dos clases de subrutinas: Cercanas (near). Son aquellas que se encuentran definidas en el mismo segmento que el programa que los llamó.  Lejanas(far). Son aquellas que se encuentran definidas en un segmento distinto al programa que las llama. Por lo tanto existen dos tipos de llamados y dos tipos de regreso. CALL NEAR y CALL FAR son llamados RET NEAR y RET FAR son retornos