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. The original version of this routine is published in CALL APPLE, JUNE 1983, P45-48.
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.1598744721.txt.gz · Last modified: 2020-08-30 01:45 by djmips