芯海单片机乘法运算
时间:11-30
来源:互联网
点击:
;============================================
; 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
;============================================
; 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
;============================================
芯海单片机乘法运 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)