about summary refs log tree commit diff stats
path: root/transect/ex7.k2
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-07-27 16:01:55 -0700
committerKartik Agaram <vc@akkartik.com>2019-07-27 17:47:59 -0700
commit6e1eeeebfb453fa7c871869c19375ce60fbd7413 (patch)
tree539c4a3fdf1756ae79770d5c4aaf6366f1d1525e /transect/ex7.k2
parent8846a7f85cc04b77b2fe8a67b6d317723437b00c (diff)
downloadmu-6e1eeeebfb453fa7c871869c19375ce60fbd7413.tar.gz
5485 - promote SubX to top-level
Diffstat (limited to 'transect/ex7.k2')
-rw-r--r--transect/ex7.k264
1 files changed, 0 insertions, 64 deletions
diff --git a/transect/ex7.k2 b/transect/ex7.k2
deleted file mode 100644
index 3ede2c5e..00000000
--- a/transect/ex7.k2
+++ /dev/null
@@ -1,64 +0,0 @@
-# example showing file syscalls
-#
-# Create a file, open it for writing, write a character to it, close it, open
-# it for reading, read a character from it, close it, delete it, and return
-# the character read.
-
-var stream : int = 0
-var a : char = 97
-var b : char = 0
-var filename : (array char) = ".foo"
-
-fn main [
-  call create, filename
-  *stream <- call open, filename, 1/wronly
-  call write, *stream, a, 1
-  call close, *stream
-  stream <- call open, filename, 0/rdonly
-  call read, *stream, b, 1
-  call close, *stream
-  call unlink, filename
-  var result/EBX : char
-  result/EBX <- copy b  # TODO: copy char to int?
-  call exit-EBX
-]
-
-fn read fd : int, x : (address array byte), size : int [
-  EBX <- copy fd
-  ECX <- copy x
-  EDX <- copy size
-  EAX <- copy 3/read
-  syscall
-]
-
-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 open name : (address array byte) [
-  EBX <- copy name
-  EAX <- copy 5/open
-  syscall
-]
-
-fn close name : (address array byte) [
-  EBX <- copy name
-  EAX <- copy 6/close
-  syscall
-]
-
-fn unlink name : (address array byte) [
-  EBX <- copy name
-  EAX <- copy 10/unlink
-  syscall
-]
-
-# like exit, but assumes the code is already in EBX
-fn exit-EBX [
-  code/EAX <- copy 1/exit
-  syscall
-]