PDF de programación - Tema 5. Programación Modular - Microprocesadores

Imágen de pdf Tema 5. Programación Modular - Microprocesadores

Tema 5. Programación Modular - Microprocesadoresgráfica de visualizaciones

Publicado el 20 de Febrero del 2021
472 visualizaciones desde el 20 de Febrero del 2021
549,5 KB
42 paginas
Creado hace 10a (19/02/2014)
DEPARTAMENTO DE ELECTRONICA

Microprocesadores

1121060
Tema 5.

Programación Modular.

Microprocesadores 1121060

Tema 5. Programación Modular.
1.

Tipos de datos en ensamblador
1.1 Enteros, booleanos y caracteres
1.2 Arreglos y Registros

2. Estructuras de control en ensamblador

2.1 Estructuras de selección (tipo if-then-else) y de

selección múltiple (tipo case)

2.2 Estructuras de repetición (tipo for, while y repeat)

3. Directivas
4. Diseño de Programas

3.1 Programación Modular
3.2 Macros

5. Depuración

Tema 5. Programación Modular.
Tipos de datos en ensamblador

 Enteros

 Sin signo

 Tamaño byte 0 a 255
 Tamaño palabra 0 a 65535

 Con signo

 Tamaño byte -128 a +127
 Tamaño palabra -32768 a +32767

 Números codificados en BCD (0 al 9)

 Almacenados en forma Empaquetada
 Almacenados en forma Desempaquetada

 Datos codificados en ASCII (American Standard

Code for Information Interchange)

Tema 5. Programación Modular.
Tipos de datos en ensamblador

MSB LSB

BCD

Empaquetado

D7

D4 D3

D0

Dígito 1 en BCD

Dígito 0 en BCD

BCD

MSB LSB

Desempaquetado

D3

D0

Dígito en BCD

Caracter

ASCII

MSB LSB

D7

D0

Caracter en ASCII

Tema 5. Programación Modular.
Tipos de datos en ensamblador

 Caracteres

ASCII

Tema 5. Programación Modular
Estructuras de control en ensamblador

 EL término estructurado aplica a ciertas declaraciones
estándar de un programa de alto nivel que pueden ser
traducidas cuidadosamente a código ensamblador. Los
programadores de lenguaje de alto nivel tratan de
usar algunas estructuras de programación básicas
para resolver la mayoría de sus problemas. Alguien
que haya programado en BASIC, Pascal o C estará
familiarizado con estructuras de programación
estándar como las siguientes:
 IF.... THEN
 IF ....THEN .....ELSE
 DO....WHILE
 DO....UNTIL
 CASE
 FOR

Tema 5. Programación Modular.
Estructuras de control en ensamblador

 IF simple
Ejemplo:

mov al,A
cmp al,B
jae salir

then:inc cx

mov bx,cx

salir:--------

IF.... THEN

Tema 5. Programación Modular.
Estructuras de control en ensamblador

 IF ....THEN .....ELSE

mov al,A
cmp al,B
jbe opcionA

opcionB: dec cx

jmp salir

opcionA: inc cx
Salir:

-----------

IF ....THEN .....ELSE

Tema 5. Programación Modular.
Estructuras de control en ensamblador

 DO....WHILE con

prueba al inicio

ciclo:

salir:

mov al,A
cmp al,B
je salir
dec cx



jmp ciclo
-----------

DO....WHILE con prueba al inicio

Tema 5. Programación Modular.
Estructuras de control en ensamblador

DO.....WHILE con prueba al

final

ciclo:

if:

salir:

dec cx



mov al,A
cmp al,B
je salir
jmp ciclo
-----------

DO.....WHILE con prueba al final

Tema 5. Programación Modular.
Estructuras de control en ensamblador



CASE

cmp AH,01
jne dos
;codigo de AH=1



jmp salirIF

dos: cmp AH,02

jne tres
;codigo de AH=2



jmp salirIF

tres: cmp AH,03

cuatro:

jne cuatro
;codigo de AH=3



jmp salirIF
cmp AH,04
jne otra
;codigo de AH=4



salirIF: -------------



FOR

mov cx,20

xx: -------
-------
-------
-------
loop xx

______________________________

mov cont,1

for: -------
-------
-------
dec cont
jnz for

Tema 5. Programación Modular.
Diseño de Programas

3. Directivas
4. Diseño de Programas

3.1 Programación Modular
3.2 Macros
5. Depuración

Tema 5. Programación Modular.
Diseño de Programas

 A medida que los programas crecen en tamaño y complejidad se
vuelve difícil depurarlos. Por lo que resulta conveniente dividir el
programa en varias partes llamadas procedimientos.

 Un procedimiento es una colección de instrucciones

relacionadas que realiza una tarea específica. También un
procedimiento puede contener un conjunto de instrucciones que
se ejecutan en varias partes del programa.

 Los procedimientos del lenguaje ensamblador tienen su

contraparte en los lenguajes de alto nivel, por ejemplo, en el
lenguaje C estos procedimientos se llaman funciones. Aunque en
los lenguajes de alto nivel, el mecanismo empleado por los
procedimientos para implementar su llamada, ejecución y regreso
es transparente para el usuario, en ensamblador se requiere
entender ese mecanismo. Un componente indispensable
empleado por ese mecanismo es la pila del programa.

 La pila de un programa también se emplea para implementar el

paso de parámetros a los procedimientos así como para crear las
variables locales al procedimiento.

Tema 5. Programación Modular.
Diseño de Programas

Procedimientos

Un procedimiento es una colección de instrucciones que realizan una tarea específica: Sumar o
restar dos valores, desplegar un carácter en la pantalla, leer un carácter del teclado, inicializar un
puerto, etc.
Un programa puede contener uno o varios procedimientos dependiendo de su extensión y
complejidad. Para emplear un procedimiento en un programa se requiere definir el procedimiento y
llamarlo. Al definir a un procedimiento escribimos las instrucciones que contiene.
Al llamar al procedimiento transferimos el control del flujo del programa al procedimiento para que
sus instrucciones se ejecuten.

Definición de un procedimiento

La sintaxis de la definición de un procedimiento es la siguiente:

nomProc proc
;instrucciones del procedimiento
...
ret
nomProc endp

Las directivas proc y endp marcan el inicio y el final del procedimiento. No generan código.
nomProc es el nombre del procedimiento y etiqueta la primera instrucción del procedimiento.
Al menos una de las proposiciones de un procedimiento es la instrucción ret, la cual permite
regresar el control del programa a la siguiente instrucción de la llamada al procedimiento.

Llamada a un procedimiento

La llamada a un procedimiento normalmente tiene la siguiente forma:
call nomProc
En donde nomProc es el nombre que se le dio al procedimiento al definirlo.

Tema 5. Programación Modular.
Diseño de Programas

Consideraciones sobre el diseño de un procedimiento
Un procedimiento bien diseñado debe llenar los siguientes requisitos:
¤ Debe hacer una sola tarea.
¤ Debe ser tan pequeño como sea posible y tan largo como sea necesario.
¤ Debe contener un comentario describiendo su propósito, sus datos de entrada

y de salida.

¤ Debe entenderse por sí solo sin necesidad de saber que hace el programa

completo.

¤ El comportamiento interno del procedimiento debe ser transparente para el

usuario. El usuario sólo debe saber cómo llamar al procedimiento, esto es, qué
datos se le deben suministrar y cómo regresa el resultado. A esto se le llama la
interface del procedimiento.

 Para lograr esa transparencia se requiere que:
Un procedimiento, desde el punto de vista del usuario, funcione como lo haría una
instrucción del microprocesador. Por lo tanto un procedimiento sólo puede alterar los
registros en los que recibe los datos, los registros en los que regresa el resultado o
el registro de banderas.
Un procedimiento tampoco debe utilizar variables globales ni para recibir datos o
regresar un resultado, ni para almacenar temporalmente resultados.

Tema 5. Programación Modular.
Diseño de Programas

Uso de los registros en un procedimiento

Un procedimiento puede utilizar los registros de propósito

general de tres formas diferentes:

 Para recibir valores o direcciones del código que lo llama.
 Para regresar valores o direcciones al código que lo

llama.

 Como variables locales del procedimiento o como

registros de trabajo de las instrucciones del
procedimiento.

 Sólo debe modificar los registros que emplea para recibir
datos o regresar resultados. Si un procedimiento emplea
un registro como variable local o registro de trabajo,
debe guardar el valor original de ese registro en la pila
del programa al entrar al procedimiento y recuperar su
valor antes de salir del procedimiento.

Tema 5. Programación Modular.
Programación Modular

Programación Modular

Se puede realizar programas en ensamblador donde todo el código del programa
reside en un sólo archivo. Sin embargo es posible y en muchos casos deseable
dividir en código de un programa en varios archivos llamados módulos.
Como ventajas de emplear la técnica llamada programación modular tenemos:
 Hay un límite en el tamaño de un archivo que un programa ensamblador

puede manejar. Si el código del programa crece mucho, al dividirlo en
módulos, tendremos archivos de menor tamaño. Como cada módulo puede
ensamblarse por separado, esta técnica nos permite ensamblar programas
más grandes.

 El proceso de ensamblado de un módulo es menor que el de un programa
completo. Cuando se está en la etapa de construcción / depuración de un
programa, por lo general uno escribe y depura un procedimiento a la vez, por
lo que sólo se está haciendo cambios a un módulo, y sólo ese módulo
requiere volver a ensamblarlo.

 Para obtener un programa ejecutable, los códigos objeto obtenidos al

ensamblar cada módulo deben ligarse. Normalmente, cada módulo contiene
un conjunto de procedimientos relacionados. Estos procedimientos pueden
emplearse para formar diferentes programas, ligándolos con otros módulos.

 Podemos utilizar otros módulos escritos por terceros para resolver problemas

específicos.

Tema 5. Programación Modular.
Programación Modular (continuación)
 Podemos escribir programas escritos en lenguaje de alto nivel y que

utilicen módulos escritos en ensamblador.

 Cada módulo en ensamblador puede contener declaraciones de

constantes, declaraciones de variables y definiciones de procedimientos.
La estructura de cada módulo es similar a la estructura de un programa
sin módulos con las siguientes diferencias:

 Sólo uno de los módulos contiene las instrucciones que inicializan el

segmento de datos y las instrucciones que terminan el programa y
regresan el control al sistema operativo. A este módulo se le conoce
como el módulo principal.

 Todos los módulos tiene la directi
  • Links de descarga
http://lwp-l.com/pdf18877

Comentarios de: Tema 5. Programación Modular - Microprocesadores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad