X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=jars.git;a=blobdiff_plain;f=test.scm;fp=test.scm;h=090c941b197074bae878c3e9d4b171dc470376aa;hp=0000000000000000000000000000000000000000;hb=28a3308e193e60e376fe9f171513ef541bb08385;hpb=0dd1d148e53122a31f3cd6f4f440f43e03ba80c5 diff --git a/test.scm b/test.scm new file mode 100644 index 0000000..090c941 --- /dev/null +++ b/test.scm @@ -0,0 +1,34 @@ +(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"))) + +(define vis (make-vis 640 480 8000 palette)) + +(define core (make-core 8000 (make-instr 'DAT 'F 'immediate 0 'immediate 0) + (lambda (i n) + (vis 'update-owner i n)))) + +(define queues (install-progs core (list dwarf imp))) + +;; (run-mars core queues 10000)