Introducci - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Introducci

Description:

Lenguaje ensamblador Introducci n a las ciencias de la computaci n Antonio L pez Jaimes Casa abierta al tiempo Plan de la presentaci n Modos de direccionamiento ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 30
Provided by: Eliza97
Category:

less

Transcript and Presenter's Notes

Title: Introducci


1
Lenguaje ensamblador
  • Introducción a las ciencias de la computación
  • Antonio López Jaimes

2
Plan de la presentación
  • Modos de direccionamiento
  • Lenguaje ensamblador
  • Variables
  • Pseudoinstrucciones
  • Etiquetas

3
Plan de la presentación
  • Modos de direccionamiento
  • Lenguaje ensamblador
  • Variables
  • Pseudoinstrucciones
  • Etiquetas

4
Modos de direccionamiento
  • Direccionamiento inmediato. El dato con el que se
    opera se especifica inmediantemente después del
    código de la instrucción.
  • Direccionamiento directo. El parámetro o dato de
    la operación se especifica mediante una dirección
    escrita enseguida el código de la instrucción.
  • Direccionamiento indirecto. La operación se
    aplica al dato contenido en una dirección2
    direccionada por la celda con una dirección1
    especificada.
  • Direccionamiento indizado. Toma la dirección dada
    y la suma con el contenido de un registro
    especial de la UCP llamado índice.

5
Plan de la presentación
  • Modos de direccionamiento
  • Lenguaje ensamblador
  • Variables
  • Pseudoinstrucciones
  • Etiquetas

6
El problema de la traducción
Programa fuente
CARGA 20 SUMA 21 GUARDA 22 ALTO
010100 010100 011110 010101 000010
010110 1000110
2020 3021 0222 70
Escrito en lenguaje mnemónico, el cual está más
cercano al lenguaje natural.
7
El problema de la traducción
  • Para evitar hablar con la computadora en lenguaje
    de máquina utilizamos un lenguaje simbólico que
    utiliza mnemónicos.
  • Puesto que la máquina sólo entiende lenguaje
    máquina, necesitamos resolver el problema de
    traducir el programa fuente (escrito con
    mnemónicos) a lenguaje máquina.
  • Esta tarea la puede hacer un programa que haga la
    traducción de un programa fuente escrito en
    lenguaje mnemónico al programa objeto escrito en
    lenguaje máquina.

8
Programa traductor
Programa fuente
Programa objeto
CARGA 20 SUMA 21 GUARDA 22 ALTO
2020 3021 0222 70
Programa traductor
Escrito en lenguaje máquina, el cual entiende
directamente la computadora
Escrito en lenguaje mnemónico, el cual está más
cercano al lenguaje natural.
9
Algoritmo del programa traductor (v1)
  • 0 Para cada renglón del programa fuente hacer
  • 1 Buscar la palabra mnemónica en el
    diccionario de
  • equivalencias.
  • 2 Si está, entonces traducirla al lenguaje
    máquina.
  • En caso contrario, advierte un error al
    usuario.
  • 3 Fin del programa.

10
Ensamblador
  • El programa traductor se llama ensamblador, el
    cual permite que el usuario se comunique con la
    computadora en un lenguaje con un nivel superior
    que el del lenguaje máquina.
  • El lenguaje simbólico con el que se escriben los
    programas recibe el nombre de lenguaje
    ensamblador o simplemente ensamblador.

11
Plan de la presentación
  • Modos de direccionamiento
  • Lenguaje ensamblador
  • Variables
  • Pseudoinstrucciones
  • Etiquetas

12
Variables
  • En el lenguaje ensamblador el usuario ya no tiene
    que escoger celdas particulares de memoria, ya
    que dicha tarea es delegada al traductor.
  • Una variable es un nombre simbólico asociado con
    una celda cualquiera. El traductor se encargará
    de hacer tal asociación.
  • Las variables dan flexibilidad al programa, ya
    que si una celda particular está ocupada, el
    programa traductor asignará otra celda.

13
Variables
  • Ejemplo

El programador podrá escribir las variables
simbólicas ALFA, BETA y GAMA, sin preocuparse a
cuáles celdas estarán asociadas.
Programa objeto
20 10 30 11 02 12 70
Programa traductor
El traductor automáticamente asociará a cada
variable una celda, por ejemplo la 10, 11 y 12.
14
Tabla de símbolos
  • Para realizar la asociación entre variables y
    celdas, el traductor utiliza una tabla de
    símbolos en la cual guarda las direcciones que
    asignó a las variables para reconocerlas cuando
    sea preciso.
  • La tabla de símbolos del programa anterior es

Variable simbólica Dirección asignada
ALFA 10
BETA 11
GAMA 12
15
Tabla de símbolos
Cuando el traductor encuetra una variable por
primera vez, le asigna una dirección y la guarda
en la tabla de símbolos. La segunda vez,
simplemente reemplaza la dirección asignada en el
programa objeto.
Tabla de símbolos
IN GUARDA ALFA IN GUARDA BETA CARGA ALFA SUMA
BETA GUARDA GAMA ALTO
Variable Dirección



16
Plan de la presentación
  • Modos de direccionamiento
  • Lenguaje ensamblador
  • Variables
  • Pseudoinstrucciones
  • Etiquetas

17
Pseudoinstrucciones
  • Para facilitar el trabajo del traductor, el
    programador escribe pseudoinstrucciones, es
    decir, instrucciones dirigidas solamente al
    traductor.
  • Las pseudoinstrucciones no son pensadas para la
    UCP, por lo que no aparecen en el programa
    objeto.

18
Pseudoinstrucciones
  • DATO. Reserva espacio para una variable asociada
    a a un nombre simbólico y define la cantidad de
    celdas de memoria que ocupará
  • ltetiquetagt DATO lttamañogt
  • ORIGEN. Especifica la dirección inicial que el
    traductor empleará para cargar datos e
    instrucciones del programa
  • ORIGEN ltdireccióngt
  • PROGRAMA ... FIN. Indican al traductor dónde
    comienzan y terminan las instrucciones del
    programa fuente.

19
Nuevo programa fuente
ORIGEN 10 ALFA DATO 1 BETA DATO 1 GAMA
DATO 1 PROGRAMA IN GUARDA
ALFA IN GUARDA BETA CARGA
ALFA SUMA BETA GUARDA GAMA
ALTO FIN
Programa objeto
00 00 00 10 02 10 10 02 11 20 10 30 11 02 12 70

10 13 14 16 17 19 21 23 25
Programa traductor
Variable Dirección
ALFA 10
BETA 11
GAMA 12
20
Plan de la presentación
  • Modos de direccionamiento
  • Lenguaje ensamblador
  • Variables
  • Pseudoinstrucciones
  • Etiquetas

21
Etiquetas
  • Las etiquetas son nombres simbólicos de las
    direcciones utilizadas en el programa para
    dirigir saltos condicionales e incondicionales.
  • Al igual que las variables, las etiquetas son
    guardadas en la tabla de símbolos.
  • Por ejemplo

PROGRAMA
BR E1 . . . E1Instr. 1
Instr. 2 . . . Instr. n
FIN
22
Ejemplo el mínimo de tres números
23
Traducción en dos pasos
Qué pasa cuando el traductor lee la instrucción
BRlt E1?
PROGRAMA ... CARGA ALFA GUARDA MIN
COMP BETA BRlt E1 ... E1COMP GAMA
... ALTO FIN
Variable Dirección
ALFA 10
BETA 11
GAMA 12
MIN 13
E1 ?
24
Traducción en dos pasos
  • La utilización de etiquetas obliga al ensamblador
    a efectuar dos lecturas sobre el mismo programa
    fuente
  • En la primera guarda las direcciones de todas las
    etiquetas en la tabla de símbolos calculando sus
    direcciones.
  • En la segunda vuelta reemplaza las etiquetas por
    sus direcciones respectivas y se crea el código
    objeto del programa.

25
Plan de la presentación
  • Modos de direccionamiento
  • Lenguaje ensamblador
  • Variables
  • Pseudoinstrucciones
  • Etiquetas
  • Otras pseudoinstrucciones

26
Otras pseudoinstrucciones
  • EQU. Permite al programador definir constantes
    simbólicas
  • ltetiquetagt EQU ltvalorgt
  • El ensamblador sustituye la etiqueta por el valor
    definido siempre que aparezca en el programa
    fuente. Esta directiva no reserva celdas de la
    memoria.
  • Ejemplo

SI EQU 1 NO EQU 0 DIEZ EQU 10
27
Otras pseudoinstrucciones
  • VALOR. Reserva espacio para una variable y le
    asigna un valor inicial
  • ltetiquetagt VALOR ltvalorgt
  • A diferencia de EQU, la directiva VALOR reserva
    una celda de la memoria.
  • Ejemplo

ALFA VALOR 5 CONTADOR VALOR 1 SUMA
VALOR 0
28
Otras pseudoinstrucciones
  • LISTA. Reserva espacio para un conjuntos de
    valores, asociándole al primer elemento su
    etiqueta
  • ltetiquetagt LISTA ltvalor,...gt
  • Ejemplo

NÚMERO LISTA 0,1,2,4 DÍAS LISTA 1,2,3,5,6,7
29
La nueva tabla de símbolos
  • Los valores iniciales que definen la
    pseudoinstrucciones anteriores se guardan también
    en la tabla de símbolos del ensamblador.

Tabla de símbolos
Programa fuente
INICIO EQU 700 LÍMITE EQU 8 ORIGEN
INICIO ALFA DATO 1 BETA VALOR LÍMITE2
...
Nombre simbólico Dirección Valor
INICIO --- 700
LÍMITE --- 8
ALFA 700 -
BETA 701 10
Write a Comment
User Comments (0)
About PowerShow.com