Está en la página 1de 18

Arquitectura de Computadoras

Conceptos bsicos de programacin assembler

Responsable de ctedra: Carlos A. Talay

Arquitectura de bus

Fuente de alimentacin

BUS Controlador de interrupciones. Cont. de perif. Cont. de perif. Cont. de perif.

Reloj

CPU

Memoria

Perifrico (CTR)

Perif. (disque tera)

Perif. (teclado)

Responsable de ctedra: Carlos A. Talay

Lenguajes de programacin
Lenguaje de mquina.
Se expresa en unos y ceros. Son programas que pueden ser ledos directamente por el procesador. Dependen de la arquitectura.

Lenguaje de bajo nivel (lenguaje ensamblador).


Se expresa en lenguaje mnemnico. Son el paso previo al lenguaje de mquina (existen traductores). Dependen de la arquitectura sobre la que corren.

Lenguaje de alto nivel (Pascal, Fortran, Ada, Delphi, etc.).


Son lenguajes que tienden a tener instrucciones de tipo coloquial. No dependen de la arquitectura en las cuales son corridos (son portables o transportables).

Programa fuente en lenguaje de alto nivel

( Compilador ) ( Interprete )

Programa objeto en lenguaje de mquina


3

Responsable de ctedra: Carlos A. Talay

Arquitectura del microprocesador 8085

Responsable de ctedra: Carlos A. Talay

Ubicacin e informacin de una celda de memoria


Direccin 0000|h Dato Memoria

4A07|h

3B|h M (Direccin) = Dato Ejemplo:

FFFF|h
Responsable de ctedra: Carlos A. Talay

M (4A07|h) = 3B|h
5

Formato tpico de una instruccin en lenguaje assembler Cdigo de Operacin Primer Operando Segundo Operando

Ejemplo:

MVI
Responsable de ctedra: Carlos A. Talay

A , 3F|

Conjunto de instrucciones del microprocesador 8085


Instrucciones de Transferencia de Datos MOV reg dest., reg fuent. MVI reg dest., data. OUT ### Instrucciones de Aritmetica Binaria Entera NEG registro ADD registro SUB registro Instrucciones de Operaciones Lgicas ANA registro ORA registro XRA registro

Instrucciones de Desplazamientos y Rotaciones RLC registro RRC registro

Control de Programa Instrucciones de Salto Incondicional JMP yyy Instrucciones de Salto Condicional JZ xxx JC xxx JP xxx Instrucciones de Comparacin CMP registro

Responsable de ctedra: Carlos A. Talay

Resolucin de problemas.
Problema Diseo del Algoritmo Programa de Computadora

1) En el diseo del algoritmo se describe la secuencia ordenada de pasos - sin ambigedades - que conducen a la solucin de un problema dado (Anlisis del problema y desarrollo del algoritmo). 2) Expresar el algoritmo como un programa en un lenguaje de programacin adecuado (fase de codificacin). 3) Ejecucin y validacin del programa por la computadora.
Responsable de ctedra: Carlos A. Talay 8

Algoritmos y Programas

Algoritmos + Estructuras de datos = Programas Niklaus Wirth

Responsable de ctedra: Carlos A. Talay

Diagrama de Flujo
Indicador de recorrido o flujo. Se utiliza para seguir el flujo del algoritmo. Inicio Smbolos de inicio y fin de programa. Indica el comienzo y la terminacin del algoritmo. El smbolo de inicio tiene un indicador flujo de salida y el de fin un Fin indicador de flujo de entrada. Smbolo de entrada/salida de datos. Simboliza operaciones de Entrada y de
( Dispositivo de E/S )

Salida de datos. Tiene un indicador de flujo de entrada y otro de salida.


Responsable de ctedra: Carlos A. Talay 10

Smbolo de Primitiva. Se utiliza para indicar primitiva ( Primitiva ) la ejecucin (accin o de cualquier de secuencia

instrucciones) que pueda realizar el procesador. Tiene un indicador de flujo de entrada y otro de salida. Smbolo de bifurcacin de secuencia. Es el elemento que nos permite tomar una decisin respecto a una circunstancia en particular (por ejemplo, si una variable es igual a cero, a otra variable o si ha llegado a un valor determinado). Tiene un indicador de flujo de entrada y 2 de salida (o varias en el caso de la decisin mltiple).
11

SI

( Pregunta )
NO

Responsable de ctedra: Carlos A. Talay

Smbolo de unin. Se utiliza para indicar el lugar especfico donde se contina la ejecucin de secuencia del programa algoritmo. Tiene dos

indicadores de flujo de entrada y 1 de salida

Responsable de ctedra: Carlos A. Talay

12

Se puede analizar un programa como si estuviera compuesto por 3 partes: Entrada de datos X: Normalmente se va a ejecutar a travs de instrucciones de lectura, y en lo que se le pide al usuario la informacin que el programa va a necesitar para ejecutarse y se hace a travs de lecturas. Acciones de un algoritmo F(x): Parte en la que se resuelve el problema usando los datos de entrada. Salida Y: Mostrar en un dispositivo de salida los resultados de las acciones anteriormente realizadas. Son acciones de escritura.
Responsable de ctedra: Carlos A. Talay 13

Inicio

Diagrama de flujo genrico de un programa

Establecer las condiciones iniciales

Ejecutar una accin

NO

Se cumple la condicin ? SI Entregar un resultado

Fin
Responsable de ctedra: Carlos A. Talay 14

Ejemplo Diagrama de Flujo Enunciado: Leer 10 nmeros por teclado, que se ubica en la direccin 0100|h de memoria, sumarlos en forma acumulativa y el resultado mostrarlo por pantalla, que se ubica en la direccin 0500|h.
Responsable de ctedra: Carlos A. Talay 15

Ejemplo Diagrama de Flujo

Inicio Suma = 0 Contador = 10

Ingresar; Dato

Suma = Suma + Dato Contador = Contador - 1 NO Contador = 0 SI Imprimir; Suma

Fin
Responsable de ctedra: Carlos A. Talay 16

Elaboracin del programa


Etiqueta Cdigo de Operacin
MVI MVI SIGO + IN ADD MOV DCR JNZ ADD OUT END
Responsable de ctedra: Carlos A. Talay 17

Operandos

Comentarios

B, 0 C, 10|d (0100)|h B B, A C

; Inicio variable que contiene a la suma ; Inicio variable contadora ; Cargo el dato del teclado en A ; Realizo la suma acumulativa ; Traspaso el contenido de A a B ; Decremento la variable contadora

SIGO + ; Si la variable es > que 0, sigo sumando B (0500)|h ; Sumo A + B y lo coloco en A ; El valor de lo sumado sale por pantalla

Bibliografa
Introduccin al procesador 8086/8088. Christopher L. Morgan & Mitchell Waite - Mc Graw Hill Los microprocesadores Intel: 8086/8088, 80186, 80286, 80386, 80486. Barry B. Brey - Prentice Hall Lenguaje ensamblador de los 80x86. Jon Beltran de Heredia - Prentice Hall Fundamentos de Programacin. Luis J. Aguilar - Mc Graw Hill Metodologa de la Programacin: Programacin estructurada. M. Dolores Alonso y Silvia Remeu - Paraninfo

Responsable de ctedra: Carlos A. Talay

18

También podría gustarte