Aracılığıyla paylaş


x64 Instructions

Çoğu x86 yönergesi 64 bit modunda x64 için geçerli olmaya devam ediyor. Nadiren kullanılan bazı işlemler artık 64 bit modunda desteklenmemektedir, örneğin:

  • ikili kodlanmış ondalık aritmetik yönergeler: AAA, AAD, AAM, AAS, DAA, DAS

  • BOUND

  • PUSHAD ve POPAD

  • PUSH DS ve POP DS gibi segment yazmaçlarıyla ilgilenen işlemlerin çoğu. (FS veya GS segment yazmaçlarını kullanan işlemler hala geçerlidir.)

x64 yönerge kümesi, SSE 2 gibi x86'ya son eklemeleri içerir. x64 için derlenen programlar bu yönergeleri serbestçe kullanabilir.

Veri Aktarımı

x64, 64 bit anlık sabitleri veya bellek adreslerini işleyebilen MOV yönergesinin yeni değişkenlerini sağlar.

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, 32 bit işlenenleri 64 bit olarak imzalamaya yönelik yeni bir yönerge de sağlar.

MOVSXD

r1, r/m

İmza uzantısı olan DWORD'u QWORD'e taşıyın.

32 bit alt kayıtlarda normal MOV işlemleri otomatik olarak sıfır 64 bit'e genişletilir, bu nedenle MOVZXD yönergesi yoktur.

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

128 bit değeri (hizalanmış olması gerekmez) kaydetmek için taşıyın veya tam tersi.

Veri Dönüştürme

CDQE

Convert dword (eax) to qword (rax).

CQO

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

Dize Düzenleme

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.