Escolar Documentos
Profissional Documentos
Cultura Documentos
Materia:
Microprocesadores
Clave:
Unidad:
No. de Prctica:
Plantel:
Colomos
Revisin:
Registro:
10300164
Fecha:
09/12/2014
Tema:
4
Nombre de la prctica:
Profesor:
Alumno:
Semestre:
Grupo:
F2
Perodo:
Objetivo:
Realizar una prctica que calcule el promedio de 16 datos de 16
bits guardados a partir de la direccin #P100 de la memoria RAM y
guardar el resultado en la direccin #P200.
EXPLICACION:
En esta prctica utiliza todos los registros porque eran datos de 16 bits cada
dato lo guardaba en dos registros.
Voy leyendo direccin por direccin donde se encuentra los datos
guardados, leo la primera direccin #2100h y lo guardo en el R4, despus
incremento el dptr para apuntar a la direccin del siguiente dato y lo guardo
en el r3. Ahora lo que tiene el registro 4 y 3 son la parte alta y baja
respectivamente del primer dato de 16 bits. Incremento otra vez el dptr y
guardo el siguiente dato en el registro r2, vuelvo a incrementarlo y leo el
dato y lo guardo en el R1.
Ahora tengo ambos datos de 16 bits, el dato1 (R4(BHS)Y R3(BLS)) y el dato
2 (R2(BHS)Y R1(BLS)),despus de esto sumo los registros menos
significativos de cada dato(R1 Y R3) y lo guardo en el registro R5. Y en caso
de que haya carry mando llamar a la subrutina lleva1 donde incremento el
R4.
En caso de que no haya carry sigue a la subrutina SUMA2 donde sumo con
carry los registro con el valor ms significativos de ambos datos (R4 Y R2) y
el resultado de esta suma lo guardo en el registro R6. Y en caso de que
;Ciclo
MOV R1,A
ADD A,R3
MOV R5,A
JC LLEVA1
SUMA2:
MOV A,R4
ADDC
A,R2
MOV R6,A
JC LLEVA_R7
SIGUE3:
MOV R0,DPL
CJNE R0,#21H,SIGUE5
AJMP PROMEDIO
SIGUE5:
INC DPTR
MOVX A,@DPTR
aCALL TIME
MOV R4,A
INC DPTR
MOVX A,@DPTR
ACALL TIME
MOV R3,A
ADD A,R5
MOV R5,A
MOV A,R4
ADDC A,R6
MOV R6,A
JC LLEVA_R7
AJMP SIGUE3
LLEVA1:
CLR C
INC R4
AJMP SUMA2
LLEVA_R7:
CLR C
INC R7
AJMP SIGUE3
PROMEDIO:
MOV DPTR,#2200H
MOV A,R7
MOVX @DPTR,A
ACALL TIME
mov dptr,#2201h
mov a,r6
movx @dptr,a
acall time
mov dptr,#2202h
mov a,r5
movx @dptr,a
acall time
MOV DPTR,#4000H
MOV A,#00H
MOVX @DPTR,A
DIAGRAMA DE FLUJO:
PRACTICA4.lst
PRACTICA4.hex