aboutsummaryrefslogtreecommitdiff
path: root/design
diff options
context:
space:
mode:
Diffstat (limited to 'design')
l---------[-rwxr-xr-x]design/rom.s.tcl55
1 files changed, 1 insertions, 54 deletions
diff --git a/design/rom.s.tcl b/design/rom.s.tcl
index 4bfc73f..ea624a7 100755..120000
--- a/design/rom.s.tcl
+++ b/design/rom.s.tcl
@@ -1,54 +1 @@
-#!/usr/bin/env tclsh
-
-source tclasm_old.tcl
-
-## also look at stack_machine_cond_jump test
-
-## we're going to write numbers from 0 to 639 at addresses h100000 to h1009FC
-## and then write non-zero value at h100A00
-
-# this will translate to 3 16-bit instructions
-set_sp h0FFFFC
-
-## set up the counter
-# each of those 2 will translate to 1 16-bit instruction
-const 0
-stack down
-
-## this is the point we later jump to, address 10
-
-tee
-## compute address: counter * 4 + h100000
-stack down
-const 4
-mul
-const h100000
-add
-stack up
-## load computed address to im
-exchange_im
-## save value of counter at address pointed by im
-swap
-store
-swap
-## increase counter by 1
-const 1
-add
-## compare value of counter to 640
-tee
-stack down
-const 640
-sub
-stack up
-## loop if counter != 640
-cond_jump 10
-
-## write hFFFFFFFF to address h100A00 (the point is to write a non-zero value
-## there, but because our stack machine only knows how to write 32-bit values
-## to memory, we'll write to h100A00 and h100A02, both being mapped as the
-## VGA power-on register - what matters is the later write, so at least one of
-## higher 16 bits of written value has to be non-zero)
-const -1
-store@ h100A00
-
-halt
+../tests/soc_simple_display/instructions.s.tcl \ No newline at end of file