pps

Multiplikation: (Ergebnis max. 8 Bit)

var1 * var2 = var3

       .proc multi8
       lda #0
       beq loop2
doadd
       clc
       adc var1
loop1
       asl var1
loop2
       lsr var2
       bcs doadd
       bne loop1
       sta var3        ; das Ergebnis steht in var3
       rts
       .endp

Dr. Irata

Multiplikation: (Ergebnis max. 16 Bit)

var1 * var2 = var3/var3+1

        .proc multi16	
  loop
         dec var2
         bmi weiter
         clc
         lda var3
         adc var1
         sta var3
         lda var3+1
         adc #0
         sta var3+1
         jmp loop
   weiter
         rts
         .endp

Variante:

        lda var1
	sta var3
	lda #0
	ldx #8
	lsr var3
lp1
	bcc lp2
	clc
	adc var2
lp2

	ror
	ror var3
	dex
	bne lp1
	sta var3+1