aboutsummaryrefslogtreecommitdiff
path: root/tests/stack_machine_jump/instructions.s.tcl
blob: fe3b297b0ebf44e8e0097e4fcaecf8c10983e3fa (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.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.

# Those 4 instructions should get encoded into 5 16-bit words, so they
# will take 10 bytes total. Hence jump to address 10 is needed to skip them.
jump 10
const h12
store h87C0
halt

# address 10 here
const h34
store h87C0
halt