pps
Multiplakation: (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
Multiplakation: (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