TP2 - Revisión de Assembler

Anuncio
Laboratorio de Microprocesadores 2010
TP2: Revisión de lenguaje Assembler
Los problemas marcados con (*) son obligatorios. El resto es de repaso
y son optativos.
1. Escribir un programa que realice las siguientes operaciones verificar los
resultados con los hechos manualmente (en papel) en todos los casos
incluir los sigientes flags C N V Z.
a. 30-10
b. 20-50
c. -4 -100
d. 150 +50
2. Desplace el contenido de la dirección $3000 :
a. Dos bits hacia la izquierda colocando en cero los bits menos
significativos.
b. Dos bits hacia la izquierda colocando los bits removidos en el lugar de
los menos significativos.
En todos los casos coloque el resultado en la dirección de memoria
$4000
3. Divida el contenido de la posición de memoria $3000 en dos secciones de
4-bits (Nibbles) y coloque el Nibble mas significativo en la posición $4001
y el menos significativo en la $4002. Poner en cero los Nybles mas
significativos de dichas posiciones
4. Determine la cantidad de números negativos (Bits mas significativos en
uno) en un bloque de datos determinado. La longitud del bloque esta en la
dirección 1041 y el bloque comienza en la dirección 1042. Coloque el
resultado en la dirección 1040.
5. Determine la cantidad de números positivos, negativos y cero de un
bloque de memoria. La posición del comienzo del bloque esta
determinado por el contenido de las posiciones de memoria 1200, 1201 y
el final en las posiciones 1202, 1203.
6. Determinar la longitud de una cadena de caracteres, la misma comienza
en la dirección $2100, y cuyo final esta marcado por la presencia del
carácter NULL (0) .Coloque la longitud de la cadena excluyendo el NULL
en la dirección $2101
7. Agregue paridad par a una cadena de caracteres ASCII de 7 bits. La
longitud de la cadena esta en la dirección $3000 y la misma comienza en
la dirección $3001. Agregue la paridad par a cada carácter poniendo o no,
en 1 el bit mas significativo (7 bits), de modo que el número de unos en el
byte sea par.
Instituto Tecnológico de Buenos Aires
Ing Jacoby
Pagina N 1
Laboratorio de Microprocesadores 2010
8. (*) Escribir un programa que imprima una cadena de caracteres terminada
en NULL. La cadena comienza donde termina el programa. Para imprimir
usar la rutina outchar (asumir ya hecha) que imprime el carácter que
recibe en el ACCA. Implementar dos versiones del programa de manera
que sea PIC una usando solo instrucciones del HC11 y otra con
instrucciones del HC12.
9. (*) Se ha conectado un conversor A/D de 8 bits al bus del HC11. Dicho
conversor tiene 3 registros de 1 byte cada uno. El primer registro
AD_DATA contiene el dato analógico convertido a digital. El segundo
AD_CONVERT debe ser escrito con cualquier valor para iniciar una
conversión. El tercero AD_STATUS nos indica cuando la ultima
conversión ha finalizado poniendo en 1 su bit mas significativo. (Nota este
bit es puesto a cero cada vez que se escribe a AD_CONVERT.)
Register
AD_DATA
AD_CONVERT
AD_STATUS
ADDRESS
$A000
$A001
$A002
Comment
Converted Data
Start a new conversion
End of Conversion (b7=1)
Asumir que el tiempo de conversión es de 1mseg y la tensión de entrada
va entre 0 y 5 Volts.
La entrada del conversor se conecta un sensor de temperatura cuya
transferencia Temperatura – Tensión de salida esta dada por la siguiente
tabla:
Temp [ oC]
-100
+155
Vo [V]
0
5
a- Se pide escribir un programa implemente un termostato con una
histéresis de 2 oC siendo la temperatura de referencia de 10 oC .
b- Igual que a pero la temperatura de referencia de -10 oC .
El calefactor (activo bajo) esta conectado al bit 3 de un puerto de salida
mapeado en la posición $8000.
Se debera realizar el programa para los siguientes intervalos de muestreo
a- Máxima velocidad posible.
b- Una vez por segundo.
Instituto Tecnológico de Buenos Aires
Ing Jacoby
Pagina N 2
Laboratorio de Microprocesadores 2010
10 (*)– Explique y de ejemplos del uso de las instrucciones:
a.
b.
c.
d.
e.
f.
bclr /bset
brclr /brset
leax
movb/w
dbne
ldaa [0,x]
Notas:
No deberán aparecer Números mágicos !!!
Implementar el programa de manera modular.
Instituto Tecnológico de Buenos Aires
Ing Jacoby
Pagina N 3
Descargar