From 131ea6c22d87eb40bc1db9bd4227f8f4b46af96d Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 3 Aug 2025 09:01:41 +0300 Subject: feat(catalan): Implement division --- catalan/catalan.a65 | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/catalan/catalan.a65 b/catalan/catalan.a65 index 16dd5c0..7dc73b0 100644 --- a/catalan/catalan.a65 +++ b/catalan/catalan.a65 @@ -21,8 +21,25 @@ loop clc ; do carry = 0 :\ return :\ .) +#define divide(a, b) .( :\ + lda b ; if (b == 0) :\ + beq return ; return 0 :\ + sta buffer ; buffer = b :\ + \ + lda a ; if (a == 0) :\ + beq return ; return 0 :\ + ldx #0 ; x = 0 :\ + \ +loop sec ; do carry = 1 :\ + sbc buffer ; a -= buffer + !carry :\ + inx ; ++x :\ + cmp buffer ; while (a >= buffer) :\ + bcs loop :\ +return txa :\ +.) + main print(hello) - multiply(#5, #7) + divide(#253, #5) putchar() rts -- cgit v1.3.1-23-gd82d