blob: b247604435da5a4a0fe778bcd636af5f23c81895 (
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
34
35
36
37
38
39
40
41
42
43
44
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
|