Ensamble la subrutina para mover tres bits a la derecha
Directorio de artículos
Reformulación del tema
Intente escribir una subrutina de desplazamiento a la derecha de varios bytes NRRC,
función: n bytes se desplazan un bit a la derecha;
entrada: (R0) = puntero de dirección de byte alto del operando, (R7) = número de bytes n
salida: (R0) = bajo puntero de dirección de bytes del operando.
Después de llamar a la subrutina escrita, 58F3E611H almacenado en 41H ~ 44H se moverá tres lugares a la derecha.
Análisis de problemas e ideas para soluciones
Para mejorar (espere pacientemente)
código
ORG 0000H
MOV 41H,#58H
MOV 42H,#0F3H
MOV 43H,#0E6H
MOV 44H,#11H
RLC3:MOV R7,#3
NEXT:MOV R0,#41H
MOV R4,#5
LCALL RLC1
DJNZ R7,NEXT
MOV A,@R0
ANL A,#0F0H
MOV @R0,A
RLC1:CLR C
LOOP:MOV A,@R0
RRC A
MOV @R0,A
INC R0
DJNZ R4,LOOP
MOV A,@R0
RLC A
MOV @R0,A
RET
END