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 | 
