about summary refs log tree commit diff stats
path: root/transect/ex3.k2
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-09-23 09:23:21 -0700
committerKartik Agaram <vc@akkartik.com>2018-09-23 09:23:21 -0700
commitaa00959024643a33f766ef3f060a934006fe7725 (patch)
treef73a6ade8937c70a4df6b480ac8602e21ae1d7d3 /transect/ex3.k2
parent7d4e351a0d1e3c4e71b58d3218b4e6b833f542f2 (diff)
downloadmu-aa00959024643a33f766ef3f060a934006fe7725.tar.gz
4504
Diffstat (limited to 'transect/ex3.k2')
-rw-r--r--transect/ex3.k222
1 files changed, 22 insertions, 0 deletions
diff --git a/transect/ex3.k2 b/transect/ex3.k2
new file mode 100644
index 00000000..63151396
--- /dev/null
+++ b/transect/ex3.k2
@@ -0,0 +1,22 @@
+# add the first 10 numbers, and return the result in the exit code
+
+fn main [
+  var result/EBX : int
+  result/EBX <- copy 0
+  var counter/ECX : int
+  counter/ECX <- copy 1
+  {
+    compare counter/ECX, 10
+    break-if >
+    result/EBX <- add counter/ECX
+    counter/ECX <- add 1
+    loop
+  }
+  call exit, 1
+]
+
+fn exit x : int [
+  code/EBX <- copy x
+  code/EAX <- copy 1/exit
+  syscall
+]