From 86dbe8eb0abe2a2d5f0f687ff190c4e9f547d126 Mon Sep 17 00:00:00 2001 From: mRnea Date: Sun, 18 Aug 2024 17:10:32 +0300 Subject: added a few operations and expanded standard library --- test/std.kurt | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'test/std.kurt') diff --git a/test/std.kurt b/test/std.kurt index cf7e684..97fc60b 100644 --- a/test/std.kurt +++ b/test/std.kurt @@ -1,4 +1,33 @@ -makro sys-write 1 son +;; Currently makro stack notation is ignored by the compiler. +makro sys-write 1 son makro write (fd string -- ) değiş sys-write syscall-3 son -makro stdout 1 son \ No newline at end of file +makro stdout 1 son + +makro / (a b -- (a / b)) divmod düş son +makro % (a b -- (a % b)) divmod değiş düş son +makro 2eş (a b -- a b a b) üst üst son + +makro load64 (bel -- a) + 7 + 0 + 8 << üst oku + değiş 1 - değiş + 8 << üst oku + değiş 1 - değiş + 8 << üst oku + değiş 1 - değiş + 8 << üst oku + değiş 1 - değiş + 8 << üst oku + değiş 1 - değiş + 8 << üst oku + değiş 1 - değiş + 8 << üst oku + değiş 1 - değiş + 8 << üst oku + değiş düş +son + +makro byte-max 255 son ;; 2^8 - 1 = 255 +makro store64 (bel a -- ) + 2eş byte-max & yaz 8 >> değiş 1 + değiş + 2eş byte-max & yaz 8 >> değiş 1 + değiş + 2eş byte-max & yaz 8 >> değiş 1 + değiş + 2eş byte-max & yaz 8 >> değiş 1 + değiş + 2eş byte-max & yaz 8 >> değiş 1 + değiş + 2eş byte-max & yaz 8 >> değiş 1 + değiş + 2eş byte-max & yaz 8 >> değiş 1 + değiş + 2eş byte-max & yaz 8 >> düş düş +son \ No newline at end of file -- cgit v1.2.3