sbtbcd2.asm
来自「pic单片机常用的汇编程序,很有用的,分成各个小模块」· 汇编 代码 · 共 42 行
ASM
42 行
;********************SBTBCD2********************
;本程序实现单字节二进制数转化为2字节压缩BCD码。
;入口参数:原二进制数在SOU中。
;出口参数:结果在SOUH:SOU中。
;占用资源:W,STATUS,023H,024H,025H,028H,029H,两重堆栈。
IFNDEF SBTBCD21
#DEFINE SBTBCD21
SBTBCD2 MOVF SOU,W
MOVWF TEMP2
CLRF SOU
CLRF SOUH
BCF STATUS,C
MOVLW 8
MOVWF CNT
LOOPC RLF TEMP2,F
RLF SOU,F
RLF SOUH,F
DECFSZ CNT,F
GOTO ADJDEC
RETURN ;整个子程序结束
ADJDEC MOVLW SOU
MOVWF FSR
CALL ADJBCD ;调整SOU
MOVLW SOUH
MOVWF FSR
CALL ADJBCD ;调整SOUH
GOTO LOOPC
;********************调整BCD********************
ADJBCD MOVLW 03H
ADDWF INDF,W ;低四位加3
MOVWF TEMP1 ;暂存
BTFSC TEMP1,3 ;结果大于7,
MOVWF INDF ;则存起来
MOVLW 30H
ADDWF INDF,W ;高四位加3
MOVWF TEMP1
BTFSC TEMP1,7 ;结果大于7,
MOVWF INDF ;则存起来
RETLW 0
ENDIF
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?