Yesterday I found https://github.com/hlorenzi/customasm which seemed like an interesting take on how to write a generic assembler. Then managed to get some basic #riscv instructions encoded correctly (R and I encodings so far) by writing out their definition by hand. While this is nice, it will get boring soon, so an idea could be to use the data at https://github.com/riscv/riscv-opcodes to generate instruction definitions with a script :blobpeek: