The bytecode word format for the cl-cc Common Lisp compiler: a fixed 32-bit encoding, its decoder, and a disassembler.
A pure :cl leaf: :depends-on is empty, and t/ asserts no other cl-cc
package is loaded alongside it.
t/ also round-trips the encoding, since an encoder and a decoder over one word
layout have an obvious property worth stating: decoding what was encoded returns
the fields that went in. The sign-extended operands get the attention — a field
read as unsigned looks correct for every non-negative case, and only a backward
branch or a negative immediate tells you otherwise.
(asdf:load-system "cl-cc-bytecode")nix develop
nix flake checkMIT