AMD64 Technology 24594—Rev. 3.14—September 2007 
Opcode-Syntax Notation
A Far pointer is encoded in the instruction. C Control register specified by the ModRM reg field. D Debug register specified by the ModRM reg field. E General purpose register or memory operand specified by the ModRM byte. Memory addresses can be computed from a segment register, SIB byte, and/or displacement. F rFLAGS register. G General purpose register specified by the ModRM reg field. I Immediate value. J The instruction includes a relative offset that is added to the rIP. M A memory operand specified by the ModRM byte. O The offset of an operand is encoded in the instruction. There is no ModRM byte in the instruction. Complex addressing using the SIB byte cannot be done. P 64-bit MMX register specified by the ModRM reg field. PR 64-bit MMX register specified by the ModRM r/m field. The ModRM mod field must be 11b. Q 64-bit MMX-register or memory operand specified by the ModRM byte. Memory addresses can be computed from a segment register, SIB byte, and/or displacement. R General purpose register specified by the ModRM r/m field. The ModRM mod field must be 11b. S Segment register specified by the ModRM reg field. V 128-bit XMM register specified by the ModRM reg field. VR 128-bit XMM register specified by the ModRM r/m field. The ModRM mod field must be 11b. W A 128-bit XMM register or memory operand specified by the ModRM byte. Memory addresses can be computed from a segment register, SIB byte, and/or displacement. X A memory operand addressed by the DS.rSI registers. Used in string instructions. Y A memory operand addressed by the ES.rDI registers. Used in string instructions. a Two 16-bit or 32-bit memory operands, depending on the effective operand size. Used in the BOUND instruction. b A byte, irrespective of the effective operand size. d A doubleword (32 bits), irrespective of the effective operand size. dq A double-quadword (128 bits), irrespective of the effective operand size. p A 32-bit or 48-bit far pointer, depending on the effective operand size. pd A 128-bit double-precision floating-point vector operand (packed double). pi A 64-bit MMX operand (packed integer). ps A 128-bit single-precision floating-point vector operand (packed single). q A quadword, irrespective of the effective operand size. s A 6-byte or 10-byte pseudo-descriptor. sd A scalar double-precision floating-point operand (scalar double). si A scalar doubleword (32-bit) integer operand (scalar integer). ss A scalar single-precision floating-point operand (scalar single). v A word, doubleword, or quadword, depending on the effective operand size. w A word, irrespective of the effective operand size. z A word if the effective operand size is 16 bits, or a doubleword if the effective operand size is 32 or 64 bits. /n A ModRM-byte reg field or SIB-byte base field that contains a value (n) between zero (binary 000) and 7 (binary 111).

curr_id=0
enum     None
enum      m2z,       Ub,      Ib,       Iz,       Ubm,       Sb,           Uw,          _CL           
enum       Iv,       Id
enum  Mb_Rd_q,   Mw_Rv,     M2ps,      Ed_q,      Wsd,       Yh
enum       Ed,     Wss,       Md,        Ww,       Wq,       Mq,        Mw_Rd,         Gd_q
enum    vGd_q,     Wdq,      Vpd,        Wb,       Wd,      Mdq,          Mpd,         W2ps
enum      Vps,     Vss,      Vsd,      iVpb,     iVpw,     iVpd,         iVpq
enum      Yps,     Ypd,      Yss,       Ysd,     iYpb,     iYpw,         iYpd,         iYpq
enum     vVps,    vVpd,     vVss,      vVsd,    viVpb,    viVpw,        viVpd,        viVpq
enum     vYps,    vYpd,     vYss,      vYsd,    viYpb,    viYpw,        viYpd,        viYpq
enum     VRps,    VRpd,      VRq,      VRdq,     iWpb,     iWpw,         iWpd,         iWpq
enum     mYps,    mYpd,     mYss,      mYsd,    imYpb,    imYpw,        imYpd,        imYpq
enum     bVps,    bVpd,     bVss,      bVsd,    biVpb,    biVpw,        biVpd,        biVpq
enum     bYps,    bYpd,     bYss,      bYsd,    biYpb,    biYpw,        biYpd,        biYpq
enum     YRdq,      Mh,      Mss,       Msd,      Mps,     LMps,         YRps,         LMpd
enum     LMdq,    YRpd,     V2ps,     iVRpw,     iVpo,      mYh,         iWpo
enum       Vq,     Vdq,     Vd_q,       Wps,      Wpd,       Vd
enum    iVRpd,   iVRpb,    iVRpq,     iYRpb,    iYRpw,    iYRpd,        iYRpq,        iW2pd
enum     Whps,   W4hps,     W8pb,      W4pb,     W2pb,     W4pw,         W2pw
enum       Pd,      Pq,     iPpb,      iQpb,     iPpw,     iQpw,         iPpd,         iQpd
enum    iP4pb,   iQ4pb,    iP2pw,     iQ2pw,      iPd,      iQd
enum       Eb,      Ew,       Ev,       _Eq,       Gb,       Gw,           Gd,           Gv          
enum       Gz,   iPRpd,    iPRpb,     iPRpw,     iYpo
enum     Pd_q,      Qd,       Qq,       PRq, mem80dec,  m32real,      m64real,    mem80real
enum   m16int,  m32int,   m64int,       m16        
enum        M,      Ma,       Mp,        Mb
enum       Mw,      Mv,       Ms,    Mq_Mdq,  Mw_Rd_q
enum     Md_q,      Rv,     Rd_q,     Mb_Rd,       Sw
enum     Td_q
enum     Cd_q,    Dd_q,      st0,       st1,      st2,      st3,          st4,          st5
enum      st6,     st7, env14_28, env94_108,     vmcb,      Gzv,     UnkModRM
enum       Ob,      Ov,       Ap
enum      _Jb,      Yb,       Xb,        Yz,       Xz,       Yv,           Xv,       rAX_r8
enum   rCX_r9, rDX_r10,  rBX_r11,   rSP_r12,  rBP_r13,  rSI_r14,      rDI_r15,       AL_r8b
enum   CL_r9b, DL_r10b,  BL_r11b,   AH_r12b,  CH_r13b,  DH_r14b,      BH_r15b,         _rAX
enum     _eAX,    _eCX,     _eDX,      _eBX,     _eSP,     _eBP,         _eSI,         _eDI
enum      _AL,     _AX,      _DX,       _ES,      _CS,      _SS,          _DS,          _FS
enum      _GS,     One,       xb,       _Jz,     _eax,     _ecx

 - ymm регистр.
vY  - ymm регистр определяемый четырмя битами VEX.vvvv или XOP.vvvv.
imY - 256-битный вектор с элементами целыми числами.
bY   - ymm регистр определённый битами [7;4] последнего быйта опкода.
biY - ymm регистр, вектор с элементами целыми числами.
LM - 32-байта памяти.

pb  - вектор с байтами.
pw  - вектор слов.
pq  - вектор QWORD`ов.
dq - вектор DWORD`ов.

HP FP - число с плавающей точкой половинной точности размеров с WORD.
SP FP - число с плавающей точкой одинарной точности размеров с DWORD.
DP FP - число с плавающей точкой двойной точности размером с QWORD.

MIN_MODRM equ Mb_Rd_q
MAX_MODRM equ UnkModRM


m2z - пятый параметр для инструкций vpermil2ps и vpermil2pd, представляет 4 бита последнего байта опкода т.е. это число от 0 до 15.
Ib  - байт c расширением знака, который может быть заменён на WORD или DWORD Iz.
Iz   - WORD или DWORD с расширением знака.
Uw  - WORD без знака.
Ub   - знаковый или беззнаковый байт, в зависимости от инструкции.
Ubm  - беззнаковый байт, который может определять мнемонику инструкций, например для cmppd,cmpps.
Sb  - байт в котором по меньшей мере 2 старших бита совсем не учитываются, для инструкций логического сдвига.
Ub   - BYTE без знака.
_CL - регистр cl.
Iv  - WORD, DWORD или QWORD для инструкций пересылки mov rEG,Imm с опкодами от 0B8h до 0BFh.
YRdq - 32 байтный вектор с целыми числами, один из 256-битных медиа регистров определяемый полем rmem ModRM байта.
Ms - 10 байтная переменная в памяти.
UnkModRM - эквивалентен Ev`у, используется у nop инструкций c опкодами 0F_19..0F_1F.
xb - указатель на таблицу транстляции byte ptr seg:[rBX], для инструкции xlat.
Td_q - тестовые регистры tr0..tr15, для не документированных инструкций mov.
Ap - дальний указатель PWORD или FWORD.
Mp - дальний указатель PWORD, FWORD или TBYTE.
_Jz - относительный аддресс для инструкций jcc/jmp/call.
_Jb - однобайтный относительный аддресс.
Sw - сегментный регистр DS,ES,CS,SS,FS или GS.
iPpb - MMX регистр в 8 BYTE`ами как целыми числами.
iPpw - MMX регистр с 4 WORD`ами как целыми числами.
iPpd - MMX регистр с 2 DWORD`ами как целыми числами.
iQpb - MMX регистр или память с 8 BYTE`ами как целыми числами.
iQpw - MMX регистр или память с 4 WORD`ами как целыми числами.
iQpd - MMX регистр или память с 2 DWORD`ами как целыми числами.
iPRpb - MMX регистр определенный полем MODRM.rm с 8 BYTE`ами как целыми числами.
iPRpw - MMX регистр определенный полем MODRM.rm с 4 WORD`ами как целыми числами.
iPRpd - MMX регистр определенный полем MODRM.rm с 2 DWORD`ами как целыми числами.
V2ps - SSE регистр с двумя SP FP в младших 64 битах.
W2ps - SSE регистр или 8 байт памяти с двумя SP FP.
Whps - SSE регистр или 16-байт памяти с 8-мю HP FP.
W2hps - SSE регистр или 8-байт памяти с 4-мя HP FP.
iYpo - ymm регистр с двумя OWORD`ами как с целыми числами.
mYh - ymm регистр или 32-байта памяти с одним HWORD`ом как с целым числом.
W2pb - SSE регистр или 2 байта памяти с 2-мя BYTE`ми как с целыми числами.
Id - целое 32-битное число, непосредственный операнд.

Сайт управляется системой uCoz