专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

芯海单片机除法运算

作者:佚名   来源:本站原创   点击数:  更新时间:2013年03月05日   【字体:


;============================================
; 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 ;被除数高8位
  MOVLW 0FFH ;
  MOVWF 0B8H ;被除数低8位
 
  MOVLW 00H  ;
  MOVWF 0B9H ;余数高位(被除数处理数据寄存器)
  MOVLW 00H  ;
  MOVWF 0BAH    ;余数低位(被除数处理数据寄存器)               
 
  MOVLW 00H  ;
  MOVWF 0BBH ;商低8位
  MOVLW 00H  ;
  MOVWF 0BCH ;商高8位
 
  MOVLW 03H  ;
  MOVWF 0BDH ;除数低8位
  MOVLW 0E8H ;
  MOVWF 0BEH ;除数高8位
 
  MOVLW 16  ;
  MOVWF 0BFH ;位数寄存器 
CF02:
  RLF  0B8H,1 ;带进位左移被除数
  RLF  0B7H,1 ;
  RLF  0BAH,1 ;带进位处理被除数数据
  RLF  0B9H,1 ;
 
  BCF  STATUS,C ;清C
  MOVFW 0BEH ;
  SUBWF 0BAH,0 ;用处理出来的被除数减除数
  MOVWF 0C1H ;
 
  MOVFW 0BDH ;
  SUBWFC 0B9H,0 ;用处理出来的被除数减除数
  MOVWF 0C0H ;
 
  BTFSS   STATUS,C ;判断处理出来的被除数是否比除数大
  GOTO CF03 ;
 
  MOVFW 0C1H ;是则保存商到被除数处理数据寄存器
  MOVWF 0BAH ;
  MOVFW 0C0H ;
  MOVWF 0B9H ;
CF03:  
  RLF  0BCH,1 ;将相减后的C左移进商寄存器
  RLF  0BBH,1 ;
  DECFSZ 0BFH,1 ;判断是否完成运算
  GOTO CF02 ;
 
  GOTO $
  end
;============================================

 

关闭窗口

相关文章