please dont rip this site

SX Microcontroller Math Method

24x8 multiplication

from Byron A Jeff

posted to PICList

Something like this:
--------------------
mult24x8:
	clr	prod0	; Clear the product
	clr	prod1
	clr	prod2
	clr	prod3
	clr	twofour3	; Clear the top byte of the multiplicand
multloop:
	mov	W, eight	; Check to see if eight bit is empty
	snb	Z	; Done if zero
	ret
	clrb	C	; clear carry
        rrl     eight,F         ; Get the next bit
	sb	C	; Add if carry is set
	jmp	multshift	; shift only if 0
	mov	W, twofour0	; Add the 32 bits of multiplicand to product
	add	prod0, W	; each addwf sets the carry
	snb	C	; Don't increment if no carry
	call	carryprop1	; Propigate carry to next byte(s)
	mov	W, twofour1	;
	add	prod1, W	;
	snb	C	; Don't increment if no carry
	call	carryprop2	; Propigate carry to next byte(s)
	mov	W, twofour2	;
	add	prod2, W	;
	snb	C	; Don't increment if no carry
	inc	prod3	; Add one to next byte if carry occured
	mov	W, twofour3	;
	add	prod3, W	;
multshift:
	clrb	C	; clear carry
	rl	twofour0	; Shift the 24 bits one bit to the left
	rl	twofour1
	rl	twofour2
	rl	twofour3
	jmp	multloop

carryprop1:
	incsz	prod1
	ret
carryprop2:
	incsz	prod2
	ret
carryprop3:
	inc	prod3
	ret
------------------------------------------------------------

I wrote this off the top of my head and I haven't tested it, but it should be
in the ballpark.

Not speedy, but should work.


file: /Techref/scenix/lib/math/mul/23x8bbaj_sx.htm, 1KB, , updated: 2004/6/10 13:40, local time: 2024/12/22 12:28,
TOP NEW HELP FIND: 
3.145.79.214:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://massmind.ecomorder.com/techref/scenix/lib/math/mul/23x8bbaj_sx.htm"> SX Microcontroller Math Method </A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

 

Welcome to ecomorder.com!

 

Welcome to massmind.ecomorder.com!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  .