#!/usr/bin/env tclsh source tclasm.tcl ## Let there be 2 pieces of code - each one storing a different value in memory ## and halting afterwards. Jump instruction should cause the second piece of ## code to execute instead of the first. We'll verify that by checking, which ## value got written. ## Ufortunately, our assembly currently doesn't compute label addresses for us. # Each of those 4 instructions should get encoded into 1 16-bit word, so they # will take 8 bytes total. Hence jump to address 8 is needed to skip them. jump 8 const h12 store@ h00100 halt # address 8 here const h34 store@ h00100 halt