Padrão de Dois Arquivos
Parte da seção Fundamentos do Journey de Assembly da Coddy. Lição 5 de 45.
Ao longo deste curso, você escreverá todos os programas usando dois arquivos separados:
| Arquivo | Finalidade |
|---|---|
data.asm | Armazena todos os dados (strings, números, variáveis) |
main.asm | Armazena todo o código (instruções, lógica, fluxo) |
Isso não é exigido pelo montador. Você poderia colocar tudo em um único arquivo. Mas separar o código dos dados torna seus programas mais organizados, fáceis de ler e mais fáceis de depurar.
Por que dois arquivos?
- Organização: Dados e código têm finalidades diferentes. Mantê-los separados ajuda você a pensar com clareza.
- Reutilização: Você pode usar o mesmo
data.asmcom diferentes arquivosmain.asm.
- Legibilidade: Você nunca precisa percorrer strings longas para encontrar seu código.
- Prática da indústria: Projetos reais separam código e dados (embora geralmente de maneiras mais complexas).
Como funciona:
O arquivo main.asm inclui o arquivo data.asm usando a diretiva %include. Isso informa ao assembler: "insira todo o conteúdo de data.asm exatamente aqui antes de montar."
Os dois arquivos lado a lado:
| data.asm | main.asm |
|---|---|
section .data | %include "data.asm" |
| (as variáveis ficam aqui) | section .text |
global _start | |
_start: | |
| (as instruções ficam aqui) |
O que cada seção faz:
| Seção | Finalidade | Qual arquivo? |
|---|---|---|
section .data | Contém os dados que existem na memória quando o programa é executado | data.asm |
section .text | Contém as instruções executáveis (código) | main.asm |
global _start | Torna o ponto de entrada visível para o vinculador | main.asm |
_start: | Rótulo onde a execução do programa começa | main.asm |
Você não precisa memorizar
section .data,section .text,global _startou_start:agora. Abordaremos cada um desses comandos em detalhes nas lições seguintes. Por enquanto, observe apenas o panorama geral e entenda a estrutura dos dois arquivos.
Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
1A Máquina
O que é CPUMemóriaRegistradores vs MemóriaComo as instruções funcionamPadrão de Dois ArquivosA Arquitetura x86-64Pratique por conta própria: Playground de Assembly