I've been trying to see if I could find a specification online to see how instructions are built up from bit fields - I may have found something, in which case I'll go via the parsing and tokenising method, building up each byte from its components. Otherwise I may have to go via the hash route.
UPDATE: Unfortunately, the information I was looking for on how opcodes are built up was no good, on the other hand after tokenisation I've worked out how to use a system of hashes-of-hashes to make it a bit simpler.
"What this book tells me is that goose-stepping morons, such as yourself, should read books instead of burning them."
- Dr. Jones Snr, Indiana Jones and the Last Crusade