x86 instruction encoding is best viewed in octal --- not just the ModRM, but the primary opcode too:<p><a href="http://www.dabo.de/ccc99/www.camp.ccc.de/radio/help.txt" rel="nofollow">http://www.dabo.de/ccc99/www.camp.ccc.de/radio/help.txt</a><p>You can mentally assemble/disassemble the bulk of the commonly encountered instructions by memorising a few tables (in octal), the addressing modes being one of them. In 16-bit the memory addressing modes can be described as "one or more of {displacement}{BX,BP}{SI,DI}" and 32-bit "one or more of {displacement}{register}{scaled register}" with (e)BP as a special case.