diff lib/alib/mult16x8.a @ 2474:7d70b7e1cb21

Moved net and alib files into here
author boisy
date Tue, 30 Mar 2010 02:44:42 +0000
parents
children aaba193af04f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/alib/mult16x8.a	Tue Mar 30 02:44:42 2010 +0000
@@ -0,0 +1,35 @@
+***********************************
+
+* 16 x 8 Multiply (24 bit result)
+
+* OTHER MODULES NEEDED: none
+
+* ENTRY: A = multiplier
+*        X = multiplicand
+
+*  EXIT: A = product byte 1
+*        X = product bytes 2 & 3
+
+ nam 16x8 bit Multiply
+ ttl Assembler Library Module
+
+
+ psect MULT168,0,0,0,0,0
+ 
+MULT168:
+ PSHS A,X save numbers
+ LEAS -3,S room for product
+ LDB 5,S get lsb of multiplicand
+ MUL
+ STD 1,S save partial product
+ LDD 3,S get mupltiplier & msb of multp.
+ MUL
+ ADDB 1,S add lsb to msb
+ ADCA #0 add carry
+ STD 0,S save sum of partial products
+ LDX 1,S get 2 lsb's
+ LEAS 6,S clean stack
+ RTS
+
+ endsect
+