blob: f681fc9740329bfb954959bfeb6888c43ed4afc7 (
about) (
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.
# 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
|