diff options
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 | 
