binarytobcd.asm
来自「Alarm clock with PIC microcontroller」· 汇编 代码 · 共 70 行
ASM
70 行
;==============================================================================
; Binary To BCD Conversion
;------------------------------------------------------------------------------
;==============================================================================
; Revision History:
;
; 2005-01-12 Initial version
;------------------------------------------------------------------------------
include ../pic.inc
errorlevel -312
global BinaryToBcd
ifdef HAS_12_BIT_CORE
extern RESULT
endif
;==============================================================================
udata_ovr
BCD res 1
if HAS_12_BIT_CORE
BIN res 1 ;12 bit version needs an extra register
endif
;==============================================================================
code
BinaryToBcd:
if HAS_12_BIT_CORE
banksel BCD
clrf BCD
; TODO!!
endif
if HAS_14_BIT_CORE
banksel BCD
clrf BCD
addlw -.80
rlf BCD,F
btfsc BCD,0
addlw .80
addlw -.40
rlf BCD,F
btfsc BCD,0
addlw .40
addlw -.20
rlf BCD,F
btfsc BCD,0
addlw .20
addlw -.10
rlf BCD,F
btfsc BCD,0
addlw .10
swapf BCD,F
iorwf BCD,W
return
endif
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?