專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

芯海單片機除法運算

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年03月05日   【字體:


;============================================
; filename: 除法運算.asm
; chip    : CSU1182B
; author  :胡琴
; date    : 2013-02-21
;完整代碼下載: http://www.torrancerestoration.com/f/xhrfys.rar
;============================================
include CSU1182B.inc
;============================================
; program start
;============================================
  ORG  000h
  GOTO CF01
  ORG  015H
CF01:
  MOVLW 0FFH ;
  MOVWF 0B7H ;被除數(shù)高8位
  MOVLW 0FFH ;
  MOVWF 0B8H ;被除數(shù)低8位
 
  MOVLW 00H  ;
  MOVWF 0B9H ;余數(shù)高位(被除數(shù)處理數(shù)據(jù)寄存器)
  MOVLW 00H  ;
  MOVWF 0BAH    ;余數(shù)低位(被除數(shù)處理數(shù)據(jù)寄存器)               
 
  MOVLW 00H  ;
  MOVWF 0BBH ;商低8位
  MOVLW 00H  ;
  MOVWF 0BCH ;商高8位
 
  MOVLW 03H  ;
  MOVWF 0BDH ;除數(shù)低8位
  MOVLW 0E8H ;
  MOVWF 0BEH ;除數(shù)高8位
 
  MOVLW 16  ;
  MOVWF 0BFH ;位數(shù)寄存器 
CF02:
  RLF  0B8H,1 ;帶進(jìn)位左移被除數(shù)
  RLF  0B7H,1 ;
  RLF  0BAH,1 ;帶進(jìn)位處理被除數(shù)數(shù)據(jù)
  RLF  0B9H,1 ;
 
  BCF  STATUS,C ;清C
  MOVFW 0BEH ;
  SUBWF 0BAH,0 ;用處理出來的被除數(shù)減除數(shù)
  MOVWF 0C1H ;
 
  MOVFW 0BDH ;
  SUBWFC 0B9H,0 ;用處理出來的被除數(shù)減除數(shù)
  MOVWF 0C0H ;
 
  BTFSS   STATUS,C ;判斷處理出來的被除數(shù)是否比除數(shù)大
  GOTO CF03 ;
 
  MOVFW 0C1H ;是則保存商到被除數(shù)處理數(shù)據(jù)寄存器
  MOVWF 0BAH ;
  MOVFW 0C0H ;
  MOVWF 0B9H ;
CF03:  
  RLF  0BCH,1 ;將相減后的C左移進(jìn)商寄存器
  RLF  0BBH,1 ;
  DECFSZ 0BFH,1 ;判斷是否完成運算
  GOTO CF02 ;
 
  GOTO $
  end
;============================================

 

關(guān)閉窗口

相關(guān)文章