Aula 8: Código de Máquina e Assembly
Vimos que a CPU executa instruções pelo ciclo de busca-decodificação-execução, mas o que exatamente existe dentro dessas instruções? No fundo de tudo está o código de máquina — uma sequência de 0s e 1s em que cada instrução é formada por um opcode (qual operação executar) e operandos (sobre o que ex
Código de máquina são instruções de 0s e 1s que a CPU executa. Assembly são essas mesmas instruções, exatamente, mas escritas com nomes curtos que as pessoas conseguem ler — como 'ADD' em vez de uma fileira de zeros e uns.
- Código de Máquina
- Instruções binárias (sequências de 0s e 1s) que a CPU executa diretamente, sem nenhuma tradução adicional.
- Opcode
- A parte de uma instrução que diz qual operação executar (somar, copiar, saltar). O nome é a abreviação de Operation Code (código de operação).
- Operando
- A parte de uma instrução que indica sobre o que agir: um registador, um valor numérico ou um endereço de memória.
- ISA
- O contrato que define todas as instruções que uma CPU consegue executar e como cada uma é codificada; exemplos reais são x86 e ARM.
- Assembly
- Uma representação legível para humanos e de um para um do código de máquina: cada linha de assembly corresponde a uma instrução de máquina.
- Mnemônico
- O nome curto de uma operação em assembly, como MOV, ADD ou JMP, que substitui o opcode binário.
- Registador
- Uma célula de armazenamento minúscula e extremamente rápida dentro da própria CPU, que guarda os valores sobre os quais as instruções operam.
- Codificação de Instrução
- O padrão binário exato em que um mnemônico com seus operandos se transforma para que a CPU possa executá-lo.
- RISC vs CISC
- Duas abordagens para o design de uma ISA: RISC, com poucas instruções simples (como ARM), e CISC, com muitas instruções complexas (como x86).
- Salto / Desvio
- Uma instrução que muda qual instrução roda em seguida — às vezes de forma condicional — implementando laços e condicionais em código de máquina.