Red de conocimiento informático - Conocimiento informático - Ayuda con dos preguntas sobre programación de microcontroladores

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

;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