Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A maioria das instruções x86 continua sendo válida para x64 no modo de 64 bits. Algumas operações raramente usadas não têm mais suporte no modo de 64 bits, como:
instruções aritméticas decimal codificadas em binário: AAA, AAD, AAM, AAS, DAA, DAS
BOUND
PUSHAD e POPAD
a maioria das operações que lidavam com registros de segmento, como PUSH DS e POP DS. (As operações que usam os registros de segmento FS ou GS ainda são válidas.)
O conjunto de instruções x64 inclui adições recentes ao x86, como SSE 2. Os programas compilados para x64 podem usar essas instruções livremente.
Transferência de dados
O x64 fornece novas variantes da instrução MOV que podem lidar com constantes imediatas de 64 bits ou endereços de memória.
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. |
O x64 também fornece uma nova instrução para estender operandos de 32 bits para 64 bits.
MOVSXD |
r1, r/m |
Mover DWORD com extensão de sinal para QWORD. |
As operações MOV comuns em subregistros de 32 bits são automaticamente zero estendidas para 64 bits, portanto, não há nenhuma instrução 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 |
Mova o valor de 128 bits (não necessariamente alinhado) para registrar ou vice-versa. |
Conversão de dados
CDQE |
Convert dword (eax) to qword (rax). |
CQO |
convert qword (rax) to oword (rdx:rax). |
Manipulação de cadeia de caracteres
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. |