新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機的多字節(jié)減法子程序

PIC單片機的多字節(jié)減法子程序

作者: 時間:2011-08-06 來源:網(wǎng)絡(luò) 收藏
  ;本程序?qū)崿F(xiàn)多字節(jié)無符號數(shù)減法。

  ;入口參數(shù):減數(shù)首地址在DADR中,被減數(shù)首地址在SADR中,字節(jié)數(shù)在CNT中。

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

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

  ;說明: 1.程序執(zhí)行后,被減數(shù)被沖掉。

  IFNDEF MUSUB1

  #DEFINE MUSUB1

  MUSUB MOVF SADR,W

  MOVWF SADRH ;保護結(jié)果首地址

  CLRF TEMP2 ;

  DECF TEMP2,F ;清除借位

  NEXT4 MOVF DADR,W

  MOVWF FSR

  MOVF INDF,W ;取出減數(shù)

  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 ;減借位位的過程中是否產(chǎn)生了借位

  BCF TEMP2,0

  INCF DADR,F

  INCF SADR,F

  DECFSZ CNT,F

  GOTO NEXT4

  MOVF SADRH,W

  SUBWF SADR,W

  MOVWF CNT ;恢復(fù)字節(jié)數(shù)

  MOVF SADRH,W

  MOVWF SADR ;結(jié)果首地址

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

  RETLW 0

  ENDIF



關(guān)鍵詞: PIC單片機 減法子程序

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉