about summary refs log tree commit diff stats
path: root/mu.arc.t
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-08-21 20:08:22 -0700
committerKartik K. Agaram <vc@akkartik.com>2014-08-21 20:08:22 -0700
commit7b6e5972d6371a7eb6ade62ee868fbe23906df30 (patch)
tree701ff0b107dceb9900723d5d9f871baad9d1e14c /mu.arc.t
parentbaf61345bfa68d6457a9300e0d3e3aefe5196c30 (diff)
downloadmu-7b6e5972d6371a7eb6ade62ee868fbe23906df30.tar.gz
63
Diffstat (limited to 'mu.arc.t')
-rw-r--r--mu.arc.t18
1 files changed, 15 insertions, 3 deletions
diff --git a/mu.arc.t b/mu.arc.t
index a385164a..a626bcda 100644
--- a/mu.arc.t
+++ b/mu.arc.t
@@ -332,7 +332,7 @@
 (run function*!main)
 ;? (prn memory*)
 (if (~iso memory* (obj 1 2  2 36  3 2))
-  (prn "F - instructions can performs indirect addressing on output arg"))
+  (prn "F - instructions can perform indirect addressing on output arg"))
 
 (reset)
 (add-fns
@@ -349,6 +349,18 @@
 (reset)
 (add-fns
   '((main
+      ((1 integer) <- literal 34)
+      ((2 integer) <- literal 35)
+      ((3 integer) <- literal 36)
+      ((4 integer-integer-pair) <- get (1 integer-point-pair) (1 offset)))))
+(run function*!main)
+;? (prn memory*)
+(if (~iso memory* (obj 1 34  2 35  3 36  4 35  5 36))
+  (prn "F - 'get' accesses fields spanning multiple locations"))
+
+(reset)
+(add-fns
+  '((main
       ((1 integer) <- literal 2)
       ((2 integer) <- literal 23)
       ((3 boolean) <- literal nil)
@@ -359,7 +371,7 @@
 (run function*!main)
 ;? (prn memory*)
 (if (~iso memory* (obj 1 2  2 23 3 nil  4 24 5 t  6 2  7 23 8 nil))
-  (prn "F - 'get' accesses fields of arrays"))
+  (prn "F - 'get' accesses fields of arrays, with length at index 0"))
 
 ; todo: test that out-of-bounds access throws an error
 
@@ -373,7 +385,7 @@
 (run function*!main)
 ;? (prn memory*)
 (if (~iso memory* (obj 1 34  2 nil  3 34  4 nil))
-  (prn "F - ops can operate on multi-field records"))
+  (prn "F - ops can operate on records spanning multiple locations"))
 
 (reset)
 (add-fns