elliott forbes



DuctTape (dt) is a high-level assembly programming language and assembler for the RISC-V instruction set. It is intended to be used during the early development stages of hardware and software tools, to aid developers in writing micro-kernel test cases for exposing bugs, exercising specific code sequences, and/or for performance validation.


Justin Severeid, bachelor graduate of computer science with embedded systems emphasis

Elliott Forbes, professor of computer science


Severeid, J. and Forbes, E., "dt: A High-level Assembler for RISC-V," Proceedings of the 53rd Midwest Instruction and Computing Symposium, April 2020. [pdf]

Severeid, J. and Forbes, E., "Technical Reference for the dt Programming Language and Assembler," Department of Computer Science, University of Wisconsin-La Crosse, Technical Report TR04032020, April 2020. [pdf]


Midwest Instruction and Computing Symposium, 2020. [YouTube]


dt development is still currently in progress. The assembler emits rv64i base instructions, and will include additional features in future releases - for example, the rv64m and rv64c extensions.

Testing and verification for dt consists of a test suite of programs, assembled into ELF64 Linux executables and run on the SiFive HiFive Unleashed development board. Other possible output formats are a flat memory image, either in plain text or binary.

Source code will be available soon.