Aprender / Lição 2

O que é Assembly?

Lição 2 de 12Iniciante7 min
Laboratório · 02 / 12

Dois registradores, dois valores

Seu robô-guia

Faça RAX guardar 7 e RBX guardar 2 ao mesmo tempo.

Blocos

Seu programa

0 instruções

Seu primeiro passo começa aqui

    Resultado

    PROCESSADORx86-64
    RAX64 bits—
    RBX64 bits—
    RCX64 bits—

    Aguardando suas instruções

    ZF · indicador de zero—

    Simulador didático · blocos equivalem a instruções Intel/NASM. Não executa Assembly nativo.

    Entender melhor

    Cada registrador é um espaço separado dentro do processador. Mudar RBX não mexe em 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 completa
    Entender melhor · O que é Assembly?
    O que você vai aprender

    Distinguir Assembly de código de máquina e conhecer a arquitetura usada no curso.

    Mais perto do processador

    O processador executa código de máquina: instruções representadas por bits. Assembly usa nomes legíveis, chamados mnemônicos, para representar instruções. MOV, por exemplo, é um nome usado para copiar dados.

    Um montador, como o NASM, transforma o texto Assembly em código de máquina. Depois, outras ferramentas podem organizar esse código em um arquivo executável. Assembly não é o mesmo que os bits que o processador lê.

    Uma escolha para não misturar conceitos

    Neste curso usamos a arquitetura x86-64, a sintaxe Intel no formato NASM e Linux como referência. Arquitetura é o conjunto de regras e instruções que o processador oferece. ARM, por exemplo, possui outro conjunto.

    Na sintaxe Intel, o destino aparece antes da origem. Os exemplos pequenos são trechos para leitura, não programas completos, salvo quando isso é indicado. O ambiente importa especialmente quando pedimos serviços ao sistema operacional.

    Um exemplo, passo a passo

    Exemplo comentadox86-64 · Intel / NASM · Linux
    ; x86-64 · Intel / NASM · Linux
    mov rax, 5     ; copia o número 5 para RAX

    Entendendo cada passo

    1. MOV é o nome da instrução.
    2. RAX é o destino: um pequeno local de armazenamento no processador.
    3. 5 é a origem. A vírgula separa os operandos (os valores ou locais usados pela instrução).
    Para guardar

    Assembly varia entre arquiteturas. Todos os exemplos deste curso seguem uma referência consistente.

    Revisão complementar

    Verdadeiro ou falso

    O mesmo código Assembly funciona em qualquer arquitetura, sem alterações.

    Escolha uma resposta

    Marcação opcional, salva apenas neste navegador. Clique novamente para desfazer.