User Tools

Site Tools


base:short_8bit_multiplication_16bit_product

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
base:short_8bit_multiplication_16bit_product [2020-08-29 23:12]
djmips
base:short_8bit_multiplication_16bit_product [2020-08-30 01:52] (current)
djmips old revision restored (2015-10-20 07:02)
Line 1: Line 1:
 ====== Short 8bit * 8bit = 16bit multiply ====== ====== 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.+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. No tables required.
  
 <code> <code>
Line 11: Line 11:
         lda #$00         lda #$00
         ldx #$08         ldx #$08
-        dec FAC2  ; FAC2-1 
         clc         clc
 m0      bcc m1 m0      bcc m1
-        adc FAC2  ; this is just + FAC2 because FAC2-1 plus the set carry = FAC2+        clc 
 +        adc FAC2
 m1      ror m1      ror
         ror FAC1         ror FAC1
base/short_8bit_multiplication_16bit_product.1598735578.txt.gz · Last modified: 2020-08-29 23:12 by djmips