about summary refs log blame commit diff stats
path: root/mu.arc.t
blob: fd9c09461b655191cdf517d219d40307cbda1296 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

               

                 

                

                     

                                             







                     
                 



                                      




                    
              



                      
                 



                                      
(load "mu.arc")

(clear)
(add-fns '((test1
  (1 <- loadi 1)
  (2 <- loadi 3)
  (3 <- add 1 2))))
(run function*!test1)
(if (~iso memory* (obj 1 1  2 3  3 4))
  (prn "F - load and add instructions work"))

(clear)
(add-fns
  '((add-fn
      (3 <- add 1 2))
    (main
      (1 <- loadi 1)
      (2 <- loadi 3)
      (add-fn))))
(run function*!main)
;? (prn memory*)
(if (~iso memory* (obj 1 1  2 3  3 4))
  (prn "F - compound functions work"))

(clear)
(add-fns
  '((add-fn
      (3 <- add 1 2)
      (return)
      (4 <- loadi 34))
    (main
      (1 <- loadi 1)
      (2 <- loadi 3)
      (add-fn))))
(run function*!main)
;? (prn memory*)
(if (~iso memory* (obj 1 1  2 3  3 4))
  (prn "F - early return works"))