Factor out `opcodes` module, rename `inst` to `operations`
For opcodes that take immediate arguments, read the immediate in `opcodes::do_opcode`
Apply the same pattern to opcodes taking ModR/M arguments