📄 bcd.txt
字号:
;Name: BIN3toBCD4
;Func:2字节二进制整数--->>BCD码四字节转换(Comped BCD)
;Input: 3进制数人低字节到高字节存放在内部RAM50H,51H,52h单元中
;Output: BCD码人低位到高位分别存放在内部RAM53H,54H,55H,56H单元中
;USE: R7-R0, 56H-50H
;********************************************************************
;PASSED
BIN3toBCD4:
LENG1 EQU 24
LENG2 EQU 4
LENG3 EQU 3
NUMB1 EQU 50H
NUMB2 EQU 53H
;;;For test
MOV 50H, #00H
MOV 51H, #0FFH
MOV 52H, #0FFH
;;;;;;;;;;
ACALL MUBTD
RET
;;LOOP: SJMP LOOP
MUBTD: MOV R0, #NUMB2
MOV R7, #LENG2
CLR A
LOOP1: MOV @R0, A
INC R0
DJNZ R7, LOOP1
MOV R7, #LENG1
LOOP4: MOV R1, #NUMB1
MOV R6, #LENG3
CLR C
LOOP2: MOV A, @R1
RLC A
MOV @R1, A
INC R1
DJNZ R6, LOOP2
MOV R5, #LENG2
MOV R0, #NUMB2
LOOP3: MOV A, @R0
ADDC A, @R0
DA A
MOV @R0, A
INC R0
DJNZ R5, LOOP3
DJNZ R7, LOOP4
MOV R6, 53H
MOV R5, 54H
MOV R4, 55H
MOV R3, 56H
;RET ; end of BIN3toBCD4
;对压缩BCD码解压缩到31h---36
;入口:从低到高:r6r5r4
MOV R0,#37H
MOV A,R6
MOV R1,A
ACALL LOOPX
MOV A,R5
MOV R1,A
ACALL LOOPX
MOV A,R4
MOV R1,A
ACALL LOOPX
AJMP $
LOOPX: DEC R0
MOV A,R1
ANL A,#0FH
MOV @R0,A
DEC R0
MOV A,R1
ANL A,#0F0H
SWAP A
MOV @R0,A
RET
;对压缩BCD码解压缩到31h--3
AJMP $
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -