?? 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 + -