view lib/alib/mult16x8.as @ 3141:717ced83b885

coco3: Build SD card device descriptors for CoCo3FPGA Added "CC3FPGAFLAGS = $(AFLAGS) -DCC3FPGA=1 $(FLAGS)" to "level2/coco3/modules/makefile" for flagging Coco3FPGA specific features in modules sources. Added "llcoco3fpga", "ddsd0_coco3fpga", "sd0_coco3fpga", and "sd1_coco3fpga" to the "coco3/modules/makefile" - RBF section, which also now adds all to the "NITROS9/MODULES/RBF" on all disk images for building new Coco3FPGA disks from NitrOS9. Added new descriptor section to the "level2/coco3/modules/makefile" reflecting the new Coco3FPGA SD card descriptors and their flags.
author Bill Pierce <merlinious999@gmail.com>
date Sat, 04 Feb 2017 11:06:28 +0100
parents 03f26e88b809
children
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


 section .text
 
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