📄 erjingzhi-to-shijingzhi.txt
字号:
转》1字(双字节)二进制/十进制 转换子程序--适合初
1字(双字节)二进制/十进制 转换子程序--适合初学者
BIN_L EQU 10H ;要进行二进制转换的 低字节
BIN_H EQU BIN_L+1 ;要进行二进制转换的 高字节
GE_B EQU BIN_L+2 ;转换后的 个位
SHI_B EQU BIN_L+3 ;转换后的 十位
BAI_B EQU BIN_L+4 ;转换后的 百位
QIAN_B EQU BIN_L+5 ;转换后的 千位
WAN_B EQU BIN_L+6 ;转换后的 万位
; **********************说明************************
; * 入口:BIN_L BIN_H *
; * 出口:GE_B SHI_B BAI_B QIAN_B WAN_B *
; * 转换子程序: CONVERT_2_10 *
; **************************************************
ORG 00H
JISUAN:
MOVLW 0FFH ;验证程序
MOVWF BIN_H
MOVLW 0FFH
MOVWF BIN_L
CALL CONVERT_2_10
GOTO $
;-------------------------------------------------------------------------------------
CONVERT_2_10: ;二进制转换十进制子程序
CLRF WAN_B
CLRF QIAN_B
CLRF BAI_B
CLRF SHI_B
CLRF GE_B
BIN_L_PR ;二进制低字节进行十进制转换程序
MOVF BIN_L,F
BTFSC STATUS,Z
GOTO BIN_H_PRO
BAI_B_PRO_L:
MOVLW 64H
SUBWF BIN_L,W
BTFSS STATUS,C
GOTO SHI_B_PRO_L
MOVWF BIN_L
INCF BAI_B,F
GOTO BAI_B_PRO_L
SHI_B_PRO_L:
MOVLW 0AH
SUBWF BIN_L,W
BTFSS STATUS,C
GOTO GE_B_PRO_L
MOVWF BIN_L
INCF SHI_B
GOTO SHI_B_PRO_L
GE_B_PRO_L:
MOVF BIN_L,W
MOVWF GE_B
GOTO BIN_H_PRO
BIN_H_PR ;二进制高字节进行十进制转换程序
MOVF BIN_H,F
BTFSC STATUS,Z
GOTO CONVERT_END
GE_B_PRO_H:
MOVLW 6H
ADDWF GE_B,F
MOVLW 0AH
SUBWF GE_B,W
BTFSS STATUS,C
GOTO SHI_B_PRO_H ;个位<10,则直接到十位转换程序
MOVWF GE_B
INCF SHI_B,F ;个位>=10,则进位
GOTO SHI_B_PRO_H
SHI_B_PRO_H:
MOVLW 5H
ADDWF SHI_B,F
MOVLW 0AH
SUBWF SHI_B,W
BTFSS STATUS,C
GOTO BAI_B_PRO_H ;十位<10,则直接到百位转换程序
MOVWF SHI_B
INCF BAI_B,F ;十位>=10,则进位
GOTO BAI_B_PRO_H
BAI_B_PRO_H:
MOVLW 2H
ADDWF BAI_B,F
MOVLW 0AH
SUBWF BAI_B,W
BTFSS STATUS,C
GOTO QIAN_B_PRO_H ;百位<10,则直接到千位转换程序
MOVWF BAI_B
INCF QIAN_B ;百位>=10,则进位
GOTO QIAN_B_PRO_H
QIAN_B_PRO_H:
MOVLW 0AH
SUBWF QIAN_B,W
BTFSS STATUS,C
GOTO WAN_B_PRO_H ;千位<10,则直接到万位转换程序
MOVWF QIAN_B
INCF WAN_B ;千位>=110,则进位
GOTO WAN_B_PRO_H
WAN_B_PRO_H:
DECFSZ BIN_H,F
GOTO GE_B_PRO_H
GOTO CONVERT_END
CONVERT_END:
NOP
RETLW 0H
;-------------------------------------------------------------------------------------
ORG 1FFH
GOTO JISUAN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -