aboutsummaryrefslogtreecommitdiffstats
path: root/ex.subv
diff options
context:
space:
mode:
Diffstat (limited to 'ex.subv')
-rw-r--r--ex.subv11
1 files changed, 9 insertions, 2 deletions
diff --git a/ex.subv b/ex.subv
index bf26df0..eb01363 100644
--- a/ex.subv
+++ b/ex.subv
@@ -12,5 +12,12 @@ main:
# store 0x0a (\n) in UART0+0
13/opi 0/subop/add 6/rd/t1 0/rs/x0 0a/imm12
23/store 2/subop/word 5/rs/t0 6/rs/t1 0/off12
- # jump back up to the top
- 6f/jal 0/rd/x0 main/off21
+ # jump back up to the top (three versions):
+ # a) jal 21bit relative (with 0th bit forced to 0)
+ # 6f/jal 0/rd/x0 main/off21
+ # b) auipc+jalr 32bit relative (note label offset)
+ 17/auipc 7/rd/t2 main/off32
+ 67/jalr 0/subop 0/rd/x0 7/rs/t2 main+4/off32
+ # c) lui+jalr 32bit absolute
+ # 37/lui 7/rd/t2 main/imm32
+ # 67/jalr 0/subop 0/rd/x0 7/rs/t2 main/imm32