Primeiras instruções
SUB: retire uma parte
RAX começa com 9. Use uma subtração para deixar RAX com 4.
Blocos
Seu programa
1 instrução- 01 MOV
mov rax, 9
Resultado
Aguardando suas instruções
Simulador didático · blocos equivalem a instruções Intel/NASM. Não executa Assembly nativo.
Entender melhor
SUB RAX, 5 calcula 9 − 5 = 4 e guarda o resultado no próprio RAX.
Este laboratório modela MOV, ADD, SUB, CMP, saltos de igualdade e pilha. Os registradores começam sem valor; a aritmética usa 64 bits sem sinal. Só ZF é representada, e cada execução recomeça do início. Repetições param após 200 passos. Não simula memória, outras flags, chamadas ao Linux ou um processador completo.
Consultar a lição completaEntender melhor · Primeiras instruções
Ler a ordem destino, origem e reconhecer MOV, ADD e SUB.
A forma de uma instrução
Na sintaxe Intel, escrevemos o nome da instrução seguido de seus operandos. Em MOV RAX, 4, RAX é o destino e 4 é a origem. Um número escrito diretamente no código é chamado valor imediato.
No NASM, um ponto e vírgula inicia um comentário. Comentários ajudam a explicar o código e não são executados. Os nomes podem aparecer em maiúsculas ou minúsculas.
Três ferramentas iniciais
MOV substitui o conteúdo do destino por uma cópia da origem. ADD soma a origem ao destino. SUB subtrai a origem do destino. Nas operações aritméticas, o resultado fica no destino.
Nem toda combinação de operandos é válida. Um número literal não pode receber um valor: MOV 5, RAX não descreve um destino gravável. Vamos trabalhar com registradores como destino para começar.
Um exemplo, passo a passo
; x86-64 · Intel / NASM · Linux mov rax, 4 ; RAX = 4 add rax, 3 ; RAX = 7 sub rax, 1 ; RAX = 6
Entendendo cada passo
- MOV inicializa RAX com 4.
- ADD soma 3 ao valor anterior: 4 + 3 = 7.
- SUB retira 1: 7 − 1 = 6. O resultado final permanece em RAX.
Na sintaxe Intel, leia primeiro onde o resultado será guardado e depois qual valor será usado.
Revisão complementar
Qual linha tem um destino inválido?
Marcação opcional, salva apenas neste navegador. Clique novamente para desfazer.