{imm} only parameter: - is {s} in opcode: {s} == 0, unsigned (8/)16/32 bit immediate {s} == 1, signed 8 bit immediate {es:di}: segment register normally %es, can be overwritten edi/di depending on apfx {ds:si}: segment register normally %ds, can be overwritten esi/si depending on apfx {ax} al/ax/eax depending of dpfx and w {dx} (%edx) or (%dx) depending on apfx {w} 0 = b, 1 = { no dpfx = l, dpfx = w } {W} no dpfx = <empty>, dpfx = w {WW} no dpfx = l, dpfx = w {R} rep prefix possible {RE} repe or repne prefix possible {ccc} CRx registers {ddd} DRx registers {gg} 00 = b, 01 = w, 10 = d, 11 = <illegal> {0g} 00 = b, 01 = w, 10 = <illegal>, 11 = <illegal> {GG} 00 = <illegal>, 01 = w, 10 = d, 11 = q {gG} 00 = <illegal>, 01 = w, 10 = d, 11 = <illegal> {modr/m} normal registers {MODR/M} MMX registers {ModR/m} XMM registers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Special opcodes (prefixes): 01100111:{apfx} 01100110:{dpfx} 00101110:{cs} 00111110:{ds} 00100110:{es} 01100100:{fs} 01100101:{gs} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ table format 1bit RE flag 1bit R flag 16bit mnemonic 3bit suffix 5bit fct 2bit string 6bit offset1 5bit offset2 4bit fct 1bit string 6bit offset1 4bit offset2 2bit fct 1bit string 3bit offset1 1bit offset2 61bit