about summary refs log tree commit diff stats
path: root/archive/2.transect/ex6.k2
diff options
context:
space:
mode:
Diffstat (limited to 'archive/2.transect/ex6.k2')
-rw-r--r--archive/2.transect/ex6.k223
1 files changed, 23 insertions, 0 deletions
diff --git a/archive/2.transect/ex6.k2 b/archive/2.transect/ex6.k2
new file mode 100644
index 00000000..cd68f861
--- /dev/null
+++ b/archive/2.transect/ex6.k2
@@ -0,0 +1,23 @@
+## print out a (global variable) string to stdout
+
+var size : int = 14
+var x : (array character) = "hello, world!"
+
+fn main [
+  call write 1/stdout, x, size
+  call exit, 0
+]
+
+fn write fd : int, x : (address array byte), size : int [
+  EBX <- copy fd
+  ECX <- copy x
+  EDX <- copy size
+  EAX <- copy 4/write
+  syscall
+]
+
+fn exit x : int [
+  code/EBX <- copy x
+  code/EAX <- copy 1/exit
+  syscall
+]