psst! hey! want to see an instruction set that makes 8086 look simple and reasonable? https://docs.alexrp.com/m16c/m16c.pdf

once you're done with the instructions, look at how they're encoded. it's a joy to write a disassembler for :)

@whitequark instruction _set_ doesn't feel that weird, but wtf that addressing modes table

@whitequark what the actual fuck

and i thought modr/m and sib were bad

@r wait until you see how it's encoded

@whitequark i _just_ noticed that the dest/src field encoding changes by instruction class

... and idk if it's even always consistent within a class, since the PDF is full of redundant tables

@whitequark wow that addressing table is unhinged
@whitequark This makes me wonder how much they saved on silicon over the lifespan of this chip. Because I can't imagine any other motivation for this astonishing complexity. (There's some sort of concussed watchmaker argument in here.)

@whitequark
Is it as bad as when Zilog based the Z80 instruction set on octal but wrote all the documentation in hex?

That was certainly a thing to figure out.