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