Freigeben über


x64-Anweisungen

Die meisten x86-Anweisungen sind weiterhin für x64 im 64-Bit-Modus gültig. Einige selten verwendete Vorgänge werden im 64-Bit-Modus nicht mehr unterstützt, z. B.:

  • binärcodierte Dezimalarithmetikanweisungen: AAA, AAD, AAM, AAS, DAA, DAS

  • GEBUNDEN

  • PUSHAD und POPAD

  • die meisten Vorgänge, die Segmentregister behandelten, z. B. PUSH DS und POP DS. (Vorgänge, die die FS- oder GS-Segmentregister verwenden, sind weiterhin gültig.)

Der x64-Befehlssatz enthält aktuelle Ergänzungen zum x86, z. B. SSE 2. Programme, die für x64 kompiliert wurden, können diese Anweisungen frei verwenden.

Datenübertragung

Der x64 bietet neue Varianten der MOV-Anweisung, die 64-Bit-Sofortkonstanten oder Speicheradressen verarbeiten können.

MOV

r,#n

r = #n

MOV

rax, m

Verschieben Sie Inhalte an der 64-Bit-Adresse nach rax.

MOV

m, rax

Verschieben Sie den Inhalt von rax in eine 64-Bit-Adresse.

Der x64 bietet auch eine neue Anweisung zum Signieren von 32-Bit-Operanden auf 64 Bit.

MOVSXD

r1, r/m

Verschieben Sie DWORD mit der Zeichenerweiterung nach QWORD.

Normale MOV-Vorgänge in 32-Bit-Unterregistern erstrecken sich automatisch auf 64 Bit, sodass es keine MOVZXD-Anweisung gibt.

Zwei SSE-Anweisungen können verwendet werden, um 128-Bit-Werte (z. B. GUIDs) aus dem Arbeitsspeicher in ein xmmn-Register zu verschieben oder umgekehrt.

MOVDQA

r1/m, r2/m

Verschieben Sie den 128-Bit-Wert in xmmn Register oder umgekehrt.

MOVDQU

r1/m, r2/m

Verschieben Sie den 128-Bit-Wert (nicht unbedingt ausgerichtet) in die Registrierung oder umgekehrt.

Datenkonvertierung

CDQE

Konvertieren Sie dword (eax) in qword (rax).

CQO

konvertieren Sie qword (rax) in oword (rdx:rax).

Zeichenfolgenbearbeitung

MOVSQ

Verschieben Sie qword von rsi zu rdi.

CMPSQ

Vergleichen Sie qword at rsi mit rdi.

SCASQ

Überprüfen Sie qword bei rdi. Vergleicht qword at rdi mit rax.

LODSQ

Laden Sie qword aus rsi in rax.

STOSQ

Speichern Sie qword in rdi aus rax.