新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 芯海單片機除法運算

芯海單片機除法運算

作者: 時間:2013-04-03 來源:網(wǎng)絡(luò) 收藏
;============================================
; filename: .asm
; chip : CSU1182B
; author :胡琴
; date : 2013-02-21
;完整代碼下載: http://www.51hei.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ù)處理
MOVLW 00H ;
MOVWF 0BAH ;余數(shù)低位(被除數(shù)處理

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 ;帶進位左移被除數(shù)
RLF 0B7H,1 ;
RLF 0BAH,1 ;帶進位處理被除數(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ù)處理
MOVWF 0BAH ;
MOVFW 0C0H ;
MOVWF 0B9H ;
CF03:
RLF 0BCH,1 ;將相減后的C左移進商寄存器
RLF 0BBH,1 ;
DECFSZ 0BFH,1 ;判斷是否完成運算
GOTO CF02 ;

GOTO $
end
;============================================



評論


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

關(guān)閉