人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

用匯編實現(xiàn)二進制數(shù)轉BCD碼

更新時間: 2019-03-23
閱讀量:4185

十年專注單片機方案開發(fā)的方案公司英銳恩,分享用匯編實現(xiàn)二進制數(shù)轉BCD碼。英銳恩現(xiàn)提供服務產品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

BIN_L EQU 10H ;要進行二進制轉換的 低字節(jié) BIN_H EQU BIN_L+1 ;要進行二進制轉換的 高字節(jié) 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 ;二進制低字節(jié)進行十進制轉換程序 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_PRO ;二進制高字節(jié)進行十進制轉換程序 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

双江| 明光市| 醴陵市| 邵东县| 无棣县| 新营市| 安龙县| 罗定市| 牙克石市| 伊通| 和平县| 双城市| 左贡县| 淮滨县| 喀喇| 丰台区| 开封市| 关岭| 双鸭山市| 玛沁县| 绥棱县| 祁东县| 应城市| 枣阳市| 余江县| 马尔康县| 略阳县| 平遥县| 泰宁县| 文昌市| 军事| 阜阳市| 达拉特旗| 临西县| 新平| 惠来县| 濮阳县| 平原县| 莱州市| 鲁山县| 平阴县|