You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.4 KiB
75 lines
1.4 KiB
{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
|