base:short_8bit_multiplication_16bit_product
This is an old revision of the document!
Short 8bit * 8bit = 16bit multiply
A small multiplication routine using the ancient egyptian multiplication algorithm. Factors should be stored in the FAC1 and FAC2 variables, the product can be found in Akku (high byte) and the X-Register (low byte). FAC1 will be destroyed. FAC2 is modified to FAC2-1. No tables required. Mod by djmips to increase performance but increased by one byte in size. There is an unwound version of this posted separately.
FAC1 = $58 FAC2 = $59 ; A*256 + X = FAC1 * FAC2 MUL8 lda #$00 ldx #$08 dec FAC2 ; FAC2-1 clc m0 bcc m1 adc FAC2 ; this is just + FAC2 because FAC2-1 plus the set carry = FAC2 m1 ror ror FAC1 dex bpl m0 ldx FAC1 rts
base/short_8bit_multiplication_16bit_product.1598735578.txt.gz · Last modified: 2020-08-29 23:12 by djmips