13
Lenguaje Ensamblador Procesador Intel 8086 Facultad de ciencias de la administración Carrera: Licenciatura en Sistemas Cátedra: Arquitectura de Computadoras Año: 2015 Profesor: Ruiz, José María

Lenguaje ensamblador

Embed Size (px)

Citation preview

Page 1: Lenguaje ensamblador

Lenguaje EnsambladorProcesador Intel 8086

Facultad de ciencias de la administraciónCarrera: Licenciatura en Sistemas

Cátedra: Arquitectura de ComputadorasAño: 2015

Profesor: Ruiz, José María

Page 2: Lenguaje ensamblador

Procesador Intel 8086El 8 de Junio de 1978, Intel presentó al público el chip 8086 procesador que se convertiría en la base para el actual conjunto de instrucciones de arquitectura x86, dando inicio a la historia moderna de las CPUs de propósito general.

Page 3: Lenguaje ensamblador

Registros

Page 4: Lenguaje ensamblador

Lenguaje ensambladorSi una persona quisiera desarrollar un programa para un microprocesador se le dificultaría mucho pensar las instrucciones en términos de números ya que ésta no es la forma natural del pensamiento humano, por lo que es más conveniente pensar el programa en un lenguaje simbólico llamado Ensamblador. En este lenguaje, una instrucción no está representada por un número, sino que se representa por una palabra corta que nos dan una idea muy clara de la instrucción que se trata, a esta palabra se le conoce como Mnemónico.

Page 5: Lenguaje ensamblador

Operaciones

Si tomamos una instrucción en un lenguaje de alto nivel ejemplo: X = X + Y

Para realizar esto en lenguaje maquina deberíamos utilizar un serie de instrucciones.

Suponiendo que X se encuentra en la posición 513 e Y en la 5141 - Cargar un registro con el contenido de una posición de

memoria 5132 - Sumar al registro el contenido de otra posición de memoria

5143 - Grabar el contenido del resultado en la posición 513

Page 6: Lenguaje ensamblador

Lenguaje ensamblador Cada microprocesador tiene su propio lenguaje maquina. Es usado principalmente porque hay aplicaciones o programas que

deben tratar directamente con los registros de la máquina, la memoria, dispositivos de E/S, etc.

La traducción de los nemónicos a código máquina entendible por el CPU la lleva a cabo un programa ensamblador.

Page 7: Lenguaje ensamblador

Representación de las instruccionesLos operandos también se representan simbólicamente.Ejemplo :

ADD sumarSUB restar

ADD C , BDonde se esta diciendo que se quiere sumar el contenido del operando C con

el del operando BADD CSumar C con el acumulador y depositarlo en el acumulador

¿La CPU puede interpretar y ejecutar estos códigos?

No. Debemos utilizar un programa que convierta los codOp y las referencias a operandos a código binario.

Page 8: Lenguaje ensamblador

Tipos de Operaciones

De transferencia de datos. Ej. MOV A,B Operaciones aritméticas y lógicas. Ej. ADD A,B De salto. Ej. JMP De llamada y retorno a subrutinas. Ej. CALL De E/S. Ej. OUT

Page 9: Lenguaje ensamblador

Interrupciones

Una interrupción es un evento no programado que altera el flujo normal de ejecución de una tarea.

La rutina de interrupción se ejecuta y por lo regular regresa el control al procedimiento que fue interrumpido, el cual entonces reasume su ejecución.

Page 10: Lenguaje ensamblador

Comparación

Page 11: Lenguaje ensamblador

SITUACIONES IDENTIFICADAS

a) Cada artefacto sonó de diferente manera, o sea, pudo ser identificado entre otros dispositivos.

b) Se dejo en pausa una tarea sin perderla.

c) Se preservo la información de la primera tarea, por lo tanto cuando retomó la conversación sabía de que estaba hablando.

Page 12: Lenguaje ensamblador

;------------- Ejer1 ---------------------------------------

; Muestra el mensaje en pantalla 'Arquitectura de Computadoras'

;-----------------------------------------------------------.MODEL SMALL.STACK 100h.DATA    TEXTO DB 'Arquitectura de Computadoras',CR,LF, '$'   ; El carácter '$' indica fin de string

CR EQU 13 ; Agrega carácter enter al textoLF EQU 10 ; Agrega carácter salto de línea.CODEinicio:

MOV AX, @DATA   ;Carga en AX la dirección del segmento datos 

MOV DS,AX ;Copia AX a DS

LEA DX,TEXTO   ;carga la dirección del inicio de TEXTO en el;registro DX. También se puede hacer MOV DX,Offset TEXTOMOV AH,9 ;parámetro para mostrar por pantalla

INT 21h

MOV AH,4ch ;parámetro para retorno al Sistema Operativo

INT 21h

END inicio 

Page 13: Lenguaje ensamblador

Bibliografía

Murdoca, Miles J.; Heuring, Vincent P. Principios de Arquitectura de Computadoras, 1ra. edición. Buenos Aires, Editorial Pearson Education, 2002.

Stallings, William. Organización y Arquitectura de Computadores, 5ta. Edición. Madrid, Editorial Prentice Hall, 2000.