新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機的多字節減法子程序

        PIC單片機的多字節減法子程序

        作者: 時間:2011-08-06 來源:網絡 收藏
          ;本程序實現多字節無符號數減法。

          ;入口參數:減數首地址在DADR中,被減數首地址在SADR中,字節數在CNT中。

          ;出口參數:結果首地址在SADR中,字節數在CNT中,借位標志在STATUS:C中,'0'表示有借位。

          ;占用資源:W,FSR,STATUS,020H,021H,022H,023H,028H,029H,一重堆棧。

          ;說明: 1.程序執行后,被減數被沖掉。

          IFNDEF MUSUB1

          #DEFINE MUSUB1

          MUSUB MOVF SADR,W

          MOVWF SADRH ;保護結果首地址

          CLRF TEMP2 ;

          DECF TEMP2,F ;清除借位

          NEXT4 MOVF DADR,W

          MOVWF FSR

          MOVF INDF,W ;取出減數

          MOVWF TEMP1 ;暫存

          MOVF SADR,W

          MOVWF FSR

          MOVF TEMP1,W

          SUBWF INDF,F

          RLF TEMP2,F ;暫存當前借位,并使上一次借位前移

          BSF STATUS,C ;清除借位

          MOVLW 1

          BTFSS TEMP2,1

          SUBWF INDF,F

          BTFSS STATUS,C ;減借位位的過程中是否產生了借位

          BCF TEMP2,0

          INCF DADR,F

          INCF SADR,F

          DECFSZ CNT,F

          GOTO NEXT4

          MOVF SADRH,W

          SUBWF SADR,W

          MOVWF CNT ;恢復字節數

          MOVF SADRH,W

          MOVWF SADR ;結果首地址

          RRF TEMP2,W ;借位位放到C中

          RETLW 0

          ENDIF



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 龙里县| 甘谷县| 朝阳县| 桐柏县| 无极县| 鄄城县| 枣强县| 莒南县| 都匀市| 康保县| 星子县| 剑阁县| 罗甸县| 绥阳县| 六枝特区| 阜康市| 元阳县| 拉萨市| 时尚| 武山县| 南投县| 公主岭市| 海门市| 满城县| 洛隆县| 邳州市| 富锦市| 家居| 遂宁市| 霍州市| 德格县| 阿城市| 武隆县| 兴隆县| 宣城市| 九龙坡区| 吴堡县| 甘南县| 嘉祥县| 尖扎县| 威宁|