diff options
author | mRnea <akannemre@gmail.com> | 2024-08-22 00:24:19 +0300 |
---|---|---|
committer | mRnea <akannemre@gmail.com> | 2024-08-22 00:24:19 +0300 |
commit | 4c8409da359cf0da14214ccc939c10ac759f76a5 (patch) | |
tree | b9af87c1a47a401503992b280b5253d00957ceb6 /lib | |
parent | 4367febcd70e9bb7538cd168917ec3c7d3b0a6f3 (diff) |
added new examples
Diffstat (limited to 'lib')
-rw-r--r-- | lib/std.kurt | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/std.kurt b/lib/std.kurt new file mode 100644 index 0000000..b247604 --- /dev/null +++ b/lib/std.kurt @@ -0,0 +1,45 @@ +;; Currently makro stack notation is ignored by the compiler. +makro stdout 1 son +makro sys-write 1 son +makro write (fd string -- ) + değiş sys-write syscall-3 +son + +makro sys-exit 60 son +makro çık (çıkış-kodu -- ) + sys-exit syscall-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 + +makro strlen (ptr -- len) + 0 değiş döngü eş oku iken + 1 + değiş 1 + değiş + yap düş +son |