This is too adictive.
[jars.git] / test.scm
index 090c941..7f6f921 100644 (file)
--- a/test.scm
+++ b/test.scm
@@ -1,27 +1,30 @@
-(import mars visualizer)
-
-(define addressing-test
-  (make-prog 'at (list
-                  (make-instr 'DAT 'F 'immediate 42 'immediate 53)
-                  (make-instr 'DAT 'F 'immediate 123 'immediate 256)
-                  (make-instr 'MOV 'A 'indirect-B 4 'direct 7)
-                  (make-instr 'NOP 'I 'immediate 0 'immediate 0)
-                  (make-instr 'NOP 'I 'immediate 0 'immediate 0)
-                  (make-instr 'NOP 'I 'immediate 0 'immediate 0)
-                  (make-instr 'DAT 'F 'immediate -5 'immediate -6)) 2))
-
-(define imp
-  (make-prog 'imp (list (make-instr 'MOV 'I 'direct 0 'direct 1)) 0))
-
-(define dwarf
-  (make-prog 'dwarf (list
-                     (make-instr 'DAT 'F 'immediate 0 'immediate -1)
-                     (make-instr 'ADD 'AB 'immediate 5 'direct -1)
-                     (make-instr 'MOV 'I 'direct -2 'indirect-B -2)
-                     (make-instr 'JMP 'I 'immediate -2 'immediate 0)) 1))
-
-(define palette '((imp . "red")
-                  (dwarf . "blue")))
+(import mars visualizer parser)
+
+;; (define addressing-test
+;;   (make-prog 'at (list
+;;                   (make-instr 'DAT 'F 'immediate 42 'immediate 53)
+;;                   (make-instr 'DAT 'F 'immediate 123 'immediate 256)
+;;                   (make-instr 'MOV 'A 'indirect-B 4 'direct 7)
+;;                   (make-instr 'NOP 'I 'immediate 0 'immediate 0)
+;;                   (make-instr 'NOP 'I 'immediate 0 'immediate 0)
+;;                   (make-instr 'NOP 'I 'immediate 0 'immediate 0)
+;;                   (make-instr 'DAT 'F 'immediate -5 'immediate -6)) 2))
+
+;; (define imp
+;;   (make-prog 'imp (list (make-instr 'MOV 'I 'direct 0 'direct 1)) 0))
+
+;; (define dwarf
+;;   (make-prog 'dwarf (list
+;;                      (make-instr 'DAT 'F 'immediate 0 'immediate -1)
+;;                      (make-instr 'ADD 'AB 'immediate 5 'direct -1)
+;;                      (make-instr 'MOV 'I 'direct -2 'indirect-B -2)
+;;                      (make-instr 'JMP 'I 'immediate -2 'immediate 0)) 1))
+
+(define imp (string->prog (with-input-from-file "imp.red" read-string)))
+(define dwarf (string->prog (with-input-from-file "dwarf.red" read-string)))
+
+(define palette '((Imp . "red")
+                  (Dwarf . "blue")))
 
 (define vis (make-vis 640 480 8000 palette))
 
 
 (define vis (make-vis 640 480 8000 palette))
 
@@ -31,4 +34,4 @@
 
 (define queues (install-progs core (list dwarf imp)))
 
 
 (define queues (install-progs core (list dwarf imp)))
 
-;; (run-mars core queues 10000)
+(run-mars core queues 10000)