1回答

0收藏

PIC:乘法程序

其他 其他 3911 人阅读 | 1 人回复 | 2007-07-11

;*******************************************************************
;?????????????????? 8x8 Software Multiplier
;?????????????? ( Code Efficient : Looped Code )
;*******************************************************************
;
;?? The 16 bit result is stored in 2 bytes
;
; Before calling the subroutine " mpy ", the multiplier should
; be loaded in location " mulplr ", and the multiplicand in
; " mulcnd " . The 16 bit result is stored in locations
; H_byte & L_byte.
;
;?????? Performance :
;?????????????????????? Program Memory? :? 15 locations
;?????????????????????? # of cycles???? :? 71
;?????????????????????? Scratch RAM???? :?? 0 locations
;
;? This routine is optimized for code efficiency ( looped code )
;? For time efficiency code refer to "mult8x8F.asm" ( straight line code )
;*******************************************************************
;
mulcnd? equ???? 09????? ; 8 bit multiplicand
mulplr? equ???? 10????? ; 8 bit multiplier
H_byte? equ???? 12????? ; High byte of the 16 bit result
L_byte? equ???? 13????? ; Low byte of the 16 bit result
count?? equ???? 14????? ; loop counter
;
;
?include???????? "picreg.h"
;
; *****************************???????? Begin Multiplier Routine
mpy_S?? clrf??? H_byte
?clrf??? L_byte
?movlw?? 8
?movwf?? count
?movf??? mulcnd,w
?bcf???? STATUS,CARRY??? ; Clear the carry bit in the status Reg.
loop??? rrf???? mulplr
?btfsc?? STATUS,CARRY
?addwf?? H_byte,Same
?rrf???? H_byte,Same
?rrf???? L_byte,Same
?decfsz? count
?goto??? loop
;
?retlw?? 0
;
;********************************************************************
;?????????????? Test Program
;*********************************************************************
main??? movlw?? 0FF
?movwf?? mulplr????????? ; multiplier (in mulplr) = 0FF
?movlw?? 0FF???????????? ; multiplicand(W Reg )?? = 0FF
?movwf?? mulcnd
;
?call??? mpy_S?????????? ; The result 0FF*0FF = FE01 is in locations
;?????????????????????????????? ; H_byte & L_byte
;
self??? goto??? self
;
?org???? 01FF
?goto??? main
;
?END
分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

gongke1979

发表于 2007-7-31 13:14:53 | 只看该作者

RE:PIC:乘法程序

看看再说,不过也多谢楼主共享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条