Asembler x86/Instrukcje
Wygląd
W niniejszym rozdziale znajdziesz spis instrukcji procesorów x86. Opisy poszczególnych z nich znajdziesz klikając na ich nazwy lub przechodząc do odpowiednich podrozdziałów umieszczonych w tabeli poniżej.
W niektórych opisach występuje termin dość często spotykany w literaturze, mianowicie operand. Jest to nic innego, jak po prostu argument danej instrukcji. |
Asembler X86 Instrukcje | ||||
Procesory 386
[edytuj]Procesory 486
[edytuj]procesory Pentium
[edytuj]Koprocesor arytmetyczny
[edytuj]Rozszerzenia MMX
[edytuj]- PADDB, PADDW, PADDD - dodawanie
- PSUBB, PSUBW, PSUBD - odejmowanie
- PADDSB, PADDSW, PADDUSB, PADDUSW - dodawanie z nasyceniem
- PSUBSB, PSUBSW, PSUBUSB, PSUBUSW - odejmowanie z nasyceniem
- PMULHW, PMULLW - mnożenie
- PMADDWD - mnożenie i dodawanie
- PCMPEQB, PCMPEQW, PCMPEQD - czy równe
- PCMPGTB, PCMPGTW, PCMPGTD - czy większe
- PACKUSWB, PACKSSWB, PACKSSDW - konwersje
- PUNPCKHBW, PUNPCKHWD, PUNPCKHDQ, PUNPCKLBW, PUNPCKLWD, PUNPCKLDQ - konwersje
- POR - suma logiczna
- PAND - iloczyn logiczny
- PANDN - iloczyn z jedną negacją
- PXOR - różnica symetryczna
- PSLLW, PSLLD, PSLLQ - przesunięcie bitowe w lewo
- PSRLW, PSRLD, PSRLQ - przesunięcie bitowe w lewo
- PSRAW, PSRAD - przesunięcie arytmetyczne w prawo
- MOVQ, MOVD
- EMMS
Rozszerzenia SSE
[edytuj]Instrukcje zmiennoprzecinkowe
[edytuj]- ADDPS, ADDSS
- SUBPS, SUBSS
- MULPS, MULSS
- DIVPS, DIVSS
- RCPPS, RCPSS
- SQRTPS, SQRTSS
- RSQRTPS, RSQRTSS
- MINPS, MINSS
- MAXPS, MAXSS
- ORPS
- ANDPS
- ANDNPS
- XORPS
- CMPPS, CMPSS
- COMISS
- UCOMISS
- CVTSI2SS
- CVTPI2PS
- CVTSS2SI
- CVTTPS2PI
- CVTPS2PI
- CVTTPS2PI
- SHUFPS
- UNPCKLPS, UNPCKHPS
- MOVAPS
- MOVUPS
- MOVSS
- MOVLPS, MOVHPS
- MOVLHPS
- MOVHLPS
- MOVMSKPS
- PREFETCHT0, PREFETCHT1, PREFETCHT2
- PREFETCHNTA
- MOVNTQ, MOVNTPS
- MASKMOVQ
Instrukcje całkowitoliczbowe (MMX2)
[edytuj]- ADDPD, ADDSD
- SUBPD, SUBSD
- DIVPD, DIVSD
- MULPD, MULSD
- SQRTPD, SQRTSD
- MAXPD, MAXSD
- MINPD, MINSD
- ORPD
- ANDPD
- ANDNPD
- XORPD
- CMPPD, CMPSD
- COMISD, UCOMISD
- SHUFPD
- UNPCKLPD, UNPCKHPD
- CVTPD2PI, CVTTPD2PI
- CVTPD2PQ, CVTTPD2PQ
- CVTPI2PD
- CVTDQ2PD
- CVTSD2SI, CVTTSD2SI
- CVTSI2SD
- CVTPS2DQ, CVTTPS2DQ
- CVTDQ2PS
- CVTPS2PD, CVTSS2SD
- CVTPD2PS, CVTPS2SS
- PMULUDQ
- PADDQ
- PSUBQ
- PSHUFLW, PSHUFHW
- PSHUFD
- PSLLDQ, PSLRDQ
- PUNPCKHQDQ, PUNPCKLQDQ
- CLFLUSH
- LFENCE, MFENCE
- PAUSE
- MASKMOVDQU
- MOVNTPD, MOVNTDQ
- MOVNTI
- FISTTP
- ADDSUBPS, ADDSUBPD
- MOVSLDUP, MOVSHDUP
- MOVDDUP
- LDDQU
- HADDPS, HADDPD
- HSUBPS, HSUBPD
- MONITOR
- MWAIT
- PSIGNW, PSIGND, PSIGNB
- PABSW, PABSD, PABSB
- PHSUBW, PHSUBD, PHSUBSW
- PHADDW, PHADDD, PHADDSW
- PMULHRSW
- PMADDUBSW
- PSHUFB
- PALIGNR
SSE4.1
[edytuj]- BLENDPS i BLENDPD, BLENDVPS i BLENDVPD, PBLENDVB, PBLENDW
- DPPS, DPPD
- EXTRACTPS, PEXTRB, PEXTRW, PEXTRD, PEXTRD
- INSERTPS, PINSRB, PINSRD, PINSRQ
- PMAXSB, PMAXSD, PMAXUB, PMAXD
- PMINSB, PMINSD, PMINUB, PMIND
- PMULDQ, PMULLD
- PMOVSXBW, PMOVSXBD, PMOVSXBQ, PMOVSXWD, PMOVSXWD, PMOVSXDQ
- PMOVZXBW, PMOVZXBD, PMOVZXBQ, PMOVZXWD, PMOVZXWD, PMOVZXDQ, PACKUSDW
- PCMPEQQ
- ROUNDPD, ROUNDPS, ROUNDSD, ROUNDSS
- PHMINPOSUW
- PTEST
- MPSADBW
- MOVNTDQA