El código de la función del lenguaje ensamblador del microcontrolador HEX_ASC es el siguiente. Por favor comente, ¿qué función está implementada? Por favor dé su opinión. Por favor dé su opinión.
HEX_ASC:MOV R4,#00H
MOV R2,#0E8H
MOV R3,#03H ;03E8H -- 1000
ASC1: LCALL SUB2; Restar 1000 del número convertido
INC R4; Sumar 1 a R4
JNC ASC1; Continuar la ejecución si el número convertido es mayor que 1000
LCALL ADD2; Suma 1000 al número convertido. Debido a que no es suficiente restar 1000, equivale a restaurarlo.
DEC R4 ; Resta 1 de R4 para obtener el dígito de miles correcto
MOV A,R4 ; ANL A ,#0FH ;
ORL A,#30H ;TO ASCii
MOV R4,A ;
MOV R5,#00H
MOV R2,#64H
MOV R3,#00H ;0064H -- 100
ASC2: LCALL SUB2 ; Igual que arriba, número de 100 dígitos convertido a ASCII
INC R5
JNC ASC2
LCALL ADD2
DEC R5
MOV A,R5
ANL A,# 0FH
ORL A,#30H ;TO ASCii
MOV R5,A
MOV R6,#00H
MOV R2,# 0AH
MOV R3,#00H; 000AH -- 10
ASC3: LCALL SUB2; igual que el número de 10 dígitos anterior convertido a ASCII
INC R6
JNC ASC3
LCALL ADD2
DEC R6
MOV A,R6
ANL A,#0FH
ORL A,#30H ;TO ASCii
MOV R6,A
MOV A,R0 ;conversión de dígitos a ASCII
ANL A,#0FH
ORL A,#30H
MOV R7,A
RET