summaryrefslogtreecommitdiff
path: root/test/std.kurt
blob: 97fc60b7bee5b0509ffbcd95abcc7b13e622d718 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
;; 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

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