Ayuda con dos preguntas sobre programación de microcontroladores
Pregunta 4.13
flag EQU 00H
;La función del programa determina el bit de paridad de un solo byte
;Entrada del programa A p >
;Indicador de salida del programa, bit 00H, 1 significa impar
;PSW afectado, R2, A, bit 00H
Parity_check:
MOV R2,#8
CLR FLAG
CLR C
SIGUIENTE:RRC A
ORL C,FLAG
MOV FLAG,C
DJNZ R2,NEXT
RET
TRANS:
MOV DPTR,#SOURCE
MOV R0,#DIST
MOV R1,LEN si su longitud existe en el área inferior de RAM de 128 bits
START:MOVX A,@DPTR
MOV R3,A; Contenido de la unidad antes de la orden de almacenamiento temporal
LCALL Parity_check
JNB FLAG,NEXTTO
MOV A,R3
MOV @R0,A
INC R0
SIGUIENTE:
INC DPTR
DJNZ R1,START
RET
Pregunta 4.15
;La función del programa realiza que un bloque de datos en la RAM se transfiere de 2000H a 2100H al programa en el área de 3000H a 3100H.
;El programa afecta a A, R0, P2, DPTR
TRANSX:
MOV DPTR,#2000H
MOV R0,#00H
MOV P2,#30H
BUCLE:MOVX A,@DPTR
MOVX @R0,A
INC DPTR
AÑADIR R0,#1
MOV A,P2
AGREGAR A,#0
MOV P2,A
CJNE A,#31H,LOOP
MOVX A,@DPTR
MOVX @R0,A
RET