~charles/awk-riscv

844fac2375486b844eacb111edc3bf3fd8618a07 — Charles Daniels 9 months ago 42fd79a assembler
remove reference to incorrect J type encoding

It turns out I was actually using the same encoding as RARs after all.
Also, as described in the relevant issue on the RARs repo, it was the
correct style all along.
2 files changed, 0 insertions(+), 12 deletions(-)

M README.md
M riscv.awk
M README.md => README.md +0 -2
@@ 65,8 65,6 @@ poke 0x00010000 0x00000014   # 0x00000014: UNKNOWN
poke 0x00010004 0x00001a6d   # 0x00001a6d: UNKNOWN
# END OF RISCV.AWK DUMP
0x00001a6d


```

This program can also be used as a disassembler:

M riscv.awk => riscv.awk +0 -10
@@ 230,16 230,6 @@
#
#                         DIFFERENCES FROM RARS
#
# This program implements J-type immediate encoding slightly differently. I
# believe this is an error in the implementation RARs uses. I have opened an
# issue upstream: https://github.com/TheThirdOne/rars/issues/89. One it is
# established which approach is correct, this program will be updated to use
# it.
#
#	UPDATE: it turns out I was incorrect, and the RARS behavior was
#	correct, as documented in the comment thread for the issue. This
#	program needs to be updated to use the correct behavior.
#
# The syntax for lw and sw is changed in order to make them easier to parse.
# The assembled instructions are identical in memory.  The equivalence table is
# shown below: