====== 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á.