From 7c67aa188d67281f70916aa3d048add56313d81c Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 3 Aug 2025 08:45:39 +0300 Subject: feat(catalan): Implement multiplication --- catalan/catalan.a65 | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/catalan/catalan.a65 b/catalan/catalan.a65 index 5b544a2..16dd5c0 100644 --- a/catalan/catalan.a65 +++ b/catalan/catalan.a65 @@ -3,7 +3,29 @@ hello .byt "HELLO, WORLD!",0 +#define multiply(a, b) .( :\ + lda a ; if (a == 0) :\ + beq return ; return 0 :\ + sta buffer ; buffer = a :\ + \ + lda b ; if (b == 0) :\ + beq return ; return 0 :\ + tax ; x = b :\ + \ + lda #0 ; a = 0 :\ +loop clc ; do carry = 0 :\ + adc buffer ; a += buffer + carry :\ + dex ; --x :\ + cpx #0 ; while (x > 0) :\ + bne loop :\ +return :\ +.) + main print(hello) + multiply(#5, #7) + putchar() rts +buffer .byt 0 + // vim: noet ts=8 sw=0 lcs=tab\:\ \ -- cgit v1.3.1-26-gb76a