====== Examen Parcial - 66.09. Laboratorio de Microcomputadoras ====== **Cátedra:** 4\\ **Fecha:** Primera Oportunidad - Primer Cuatrimestre 2006\\ **Día:** 19/05/2006 Esta página está incompleta; podés ayudar completando el material. ===== Enunciado ===== ==== Tema 3 ==== ==== Punto I ==== Dado un string ubicado a partir de una dirección de memoria RAM interna, de longitud variable (máximo 20 caracteres), y terminado con el carácter "\0" (ASCII 00), escribir una rutina que retorne la dirección del primer carácter distinto de "espacio" (ASCII 0x20) (equivalente a strpad()) ==== Punto II ==== Colocar 1 chip de 4Kbytes y 3 chips de 1Kbyte de RAM en el mapa de memoria de un microcontrolador de la familia MS-51, siendo los únicos chips de memoria que se conectarán.\\ Dar una solución donde la direcciónd de los chips sea correlativa y otra donde esa condición no sea necesaria. ==== Punto III ==== Escriba las instrucciones necesarias para cargar en el acumulador auxiliar B los siguientes valores: - Una constante ubicada en una posición dada de memoria de programa - El tercer valor de una tabla que arranca en una posición dada de memoria de programa - El valor de una variable ubicada en una posición de memoria RAM interna - El valor de una variable ubicada en una posición de memoria RAM externa - El valor constante 27 ===== Resolución ===== ==== Tema 3 ==== ==== Punto I ==== ;strpad ; Se recibe el comienzo en R0 ; Se devuelve el valor en R0 STRPAD: CJNE @R0, #' ', END ; Comparo carácter con puntero, de ser distintos voy a END INC R0 ; Incremento puntero SJMP STRPAD ; Repito el bucle END: RET ; Devuelvo el valor en R0 ==== Punto II ==== ==== Punto III ==== - CLR A ; Limpio A MOV DPTR, #POSICION ; Cargo posición en DPTR MOVC A, @A + DPTR ; Leo de posición MOV B, A ; Cargo en B - MOV A, #2 ; Cargo en A el índice de la tabla MOV DPTR, #POSICION ; Cargo posición en DPTR MOVC A, @A + DPTR ; Leo de posición + 2 MOV B, A ; Cargo en B - MOV B, #POSICION ; Cargo directo-directo en B - MOV DPTR, #POSICION ; Cargo posición en DPTR MOVX A, @DPTR ; Leo de posición MOV B, A ; Cargo en B - MOV B, #27 ; Cargo directo-inmediato en B ===== Discusión ===== Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.