x64 Instructions

A legtöbb x86-utasítás továbbra is érvényes az x64-hez 64 bites módban. Néhány ritkán használt művelet már nem támogatott 64 bites módban, például:

  • bináris kóddal kódolt decimális számtani utasítások: AAA, AAD, AAM, AAS, DAA, DAS

  • BOUND

  • PUSHAD és POPAD

  • a szegmensregisztrálásokkal foglalkozó legtöbb művelet, például a PUSH DS és a POP DS. (Az FS- vagy GS-szegmensregisztrálásokat használó műveletek továbbra is érvényesek.)

Az x64 utasításkészlet tartalmazza az x86 legújabb kiegészítéseit, például az SSE 2-t. Az x64-hez lefordított programok szabadon használhatják ezeket az utasításokat.

Adatátvitel

Az x64 az MOV utasítás új változatait tartalmazza, amelyek képesek kezelni a 64 bites azonnali állandókat vagy memóriacímeket.

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.

Az x64 egy új utasítást is biztosít a 32 bites operandusok 64 bitesre való aláírásához.

MOVSXD

r1, r/m

A DWORD áthelyezése jelkiterjesztéssel a QWORD-be.

A 32 bites alregisztrális MOV-műveletek automatikusan nulla értékre, 64 bitre terjednek ki, így nincs MOVZXD utasítás.

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

Helyezze át a 128 bites (nem feltétlenül igazított) értéket a regisztrációhoz, vagy fordítva.

Adatkonvertálás

CDQE

Convert dword (eax) to qword (rax).

CQO

convert qword (rax) to oword (rdx:rax).

Sztringek kezelése

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.