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

芯海单片机乘法运算

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

;============================================
; filename: 乘法运算.asm
; chip    : CSU1182B
; author  :
; date    : 2013-02-21
;程序下载: http://www.51hei.com/f/xhdjpj.rar
;============================================
include CSU1182B.inc
;============================================
; program start
;============================================
 org  000h
 GOTO A1
 ORG  15H
 
A1:
 MOVLW 00H  ;
 MOVWF 0B0H ;高位数据处理寄存器(乘积高8位)
 MOVLW 00H  ;
 MOVWF 0B1H ;低位数据处理寄存器(乘积中高8位)
 
 MOVLW 22H  ;
 MOVWF 0B2H ;被乘数高位(乘积低高8位)
 MOVLW 0B8H ;
 MOVWF 0B3H ;被乘数低位(乘积低8位)
 
 MOVLW 27H  ;
 MOVWF 0B4H ;乘数高8位
 MOVLW 0FH  ;
 MOVWF 0B5H ;乘数低8位
 
 MOVLW 16  ;
 MOVWF 0BFH ;乘数位数
 
A2: 
 BCF  STATUS,C ;
 BTFSS 0B3H,0 ;判断被乘数最低位是否为1
 GOTO A3  ;
 MOVFW 0B5H ;是则用数据处理寄存器加上乘数
 ADDWF 0B1H,1 ;
 MOVFW 0B4H ;
 ADDWFC 0B0H,1 ;
A3: 
 RRF  0B0H,1 ;带进位右移
 RRF  0B1H,1 ;
 RRF  0B2H,1 ;
 RRF  0B3H,1 ;
 DECFSZ 0BFH,1 ;判断是否完成运算
 GOTO A2  ;
 
 GOTO $  ;
 
 end
;============================================

关闭窗口

相关文章