Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Většina instrukcí x86 je nadále platná pro x64 v 64bitovém režimu. Některé zřídka používané operace se už v 64bitovém režimu nepodporují, například:
binární kódované desetinné aritmetické instrukce: AAA, AAD, AAM, AAS, DAA, DAS
BOUND
PUSHAD a POPAD
většina operací, které se zabývají registry segmentů, jako je PUSH DS a POP DS. (Operace, které používají registry segmentů FS nebo GS, jsou stále platné.)
Instrukční sada x64 obsahuje nedávné dodatky k x86, například SSE 2. Programy kompilované pro platformu x64 mohou tyto pokyny volně používat.
Přenos dat
X64 poskytuje nové varianty instrukce MOV, které mohou zpracovávat 64bitové okamžité konstanty nebo adresy paměti.
MOV |
r,#n |
r = #n |
MOV |
rax, m |
Move contents at 64-bit address to rax. |
MOV |
m, rax |
Move contents of rax to 64-bit address. |
X64 také poskytuje novou instrukci pro podepisování 32bitových operandů na 64 bitů.
MOVSXD |
r1, r/m |
Přesuňte DWORD s rozšířením pro znaménko do QWORD. |
Běžné operace MOV do 32bitových subregisterů se automaticky nulou rozšíří na 64 bitů, takže neexistuje žádná instrukce MOVZXD.
Two SSE instructions can be used to move 128-bit values (such as GUIDs) from memory to an xmmn register or vice versa.
MOVDQA |
r1/m, r2/m |
Move 128-bit aligned value to xmmn register, or vice versa. |
MOVDQU |
r1/m, r2/m |
Přesuňte 128bitovou hodnotu (ne nutně zarovnanou) k registraci nebo naopak. |
Konverze dat
CDQE |
Convert dword (eax) to qword (rax). |
CQO |
convert qword (rax) to oword (rdx:rax). |
Manipulace s řetězci
MOVSQ |
Move qword from rsi to rdi. |
CMPSQ |
Compare qword at rsi with rdi. |
SCASQ |
Scan qword at rdi. Compares qword at rdi to rax. |
LODSQ |
Load qword from rsi into rax. |
STOSQ |
Store qword to rdi from rax. |