📄 sbtbcd2.asm
字号:
;********************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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -