aboutsummaryrefslogtreecommitdiff
path: root/tests/stack_machine_old_jump/instructions.s.tcl
blob: 359da359bdae7bfa501a07b38f758841e2d93f83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env tclsh

source tclasm_old.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