added new examples

This commit is contained in:
2024-08-22 00:24:19 +03:00
parent 4367febcd7
commit 4c8409da35
10 changed files with 203 additions and 6 deletions

45
lib/std.kurt Normal file
View File

@@ -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