aboutsummaryrefslogtreecommitdiffstats
path: root/ex.subv
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2021-05-25 13:51:11 +0000
committers-ol <s+removethis@s-ol.nu>2021-05-25 13:51:11 +0000
commit14222e04958f8b0a3c1383bc1cd8afe3464f295e (patch)
tree420e057bf3bfd11d38a962355688701dcef8bc7d /ex.subv
parentupdate all stages to work (diff)
downloadsubv-14222e04958f8b0a3c1383bc1cd8afe3464f295e.tar.gz
subv-14222e04958f8b0a3c1383bc1cd8afe3464f295e.zip
close to working AUIPC+JALR jump
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