Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Большинство инструкций x86 продолжают быть допустимыми для x64 в 64-разрядном режиме. Некоторые редко используемые операции больше не поддерживаются в 64-разрядном режиме, например:
арифметические инструкции с двоичным кодом: AAA, AAD, AAM, AAS, DAA, DAS
BOUND
PUSHAD и POPAD
большинство операций, которые касаются регистров сегментов, таких как PUSH DS и POP DS. (Операции, использующие регистры сегментов FS или GS, по-прежнему допустимы.)
Набор инструкций x64 включает последние дополнения к x86, например SSE 2. Программы, скомпилированные для x64, могут свободно использовать эти инструкции.
Передача данных
X64 предоставляет новые варианты инструкции MOV, которая может обрабатывать 64-разрядные константы или адреса памяти.
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-разрядных операндов до 64-разрядных.
MOVSXD |
r1, r/m |
Переместите DWORD с расширением знака в QWORD. |
Обычные операции MOV в 32-разрядные подрегистры автоматически расширяются до 64 бит, поэтому инструкции 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 |
Переместите 128-разрядное значение (не обязательно выровнено) для регистрации или наоборот. |
Преобразование данных
CDQE |
Convert dword (eax) to qword (rax). |
CQO |
convert qword (rax) to oword (rdx:rax). |
Обработка строк
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. |