view lib/alib/mult16x8.a @ 2765:0bd16cca86b7

Updated rules.mak for all the os9 format's to format the entire disk. People were having some issues with the disk images not being formatted to their full capacity and preventing some functions from working.
author drencor-xeen
date Thu, 17 Jan 2013 11:03:26 -0600
parents 7d70b7e1cb21
children aaba193af04f
line wrap: on
line source

***********************************

* 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