Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A maioria das instruções x86 continua a ser válida para x64 no modo de 64 bits. Algumas operações raramente usadas não são mais suportadas no modo de 64 bits, como:
instruções aritméticas decimais codificadas binárias: 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 registradores 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. Programas compilados para x64 podem usar livremente estas instruções.
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 assinar operandos de 32 bits para 64 bits.
MOVSXD |
r1, r/m |
Mova DWORD com extensão de sinal para QWORD. |
Operações MOV comuns em subregistradores de 32 bits automaticamente zero se estendem para 64 bits, portanto, não há 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 cadeias 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. |