Nano Banana 2.1 DISPONÍVEL — O mais novo do Google | Experimente →
WAVESPEED AI EMULADOR 6502 RODA NO SEU NAVEGADOR
100% GRÁTIS

Emulador e assembler 6502Escreva assembly, execute e acompanhe cada registrador.

Digite assembly 6502 e clique em Executar: o código é montado e roda em uma tela colorida de 32×32 com entrada pelo teclado.
Avance uma instrução por vez, defina breakpoints e veja registradores, flags e memória mudarem.

Assembler integradoPasso a passo e breakpointsSnake e mais 7 exemplos
Sem cadastro Nada para instalar Funciona offline

Carregando o emulador…

Seu código é montado e executado no seu dispositivo. Nada é enviado.
TRÊS PASSOS SIMPLES

Como usar o emulador 6502

01

Escreva ou escolha um programa

Digite assembly 6502 no editor ou escolha um exemplo como Snake, Barras de cor ou a demo de matemática. Os programas começam em $0600.

02

Execute

Clique em Executar (ou Ctrl/⌘+Enter). O código é montado; os erros aparecem com o número da linha. Clique na tela para enviar teclas ao programa.

03

Depure

Pause, avance uma instrução por vez e clique no número de uma linha para definir um breakpoint. Acompanhe registradores, flags, memória e desmontagem durante a execução.

APRENDA 6502

Dicas de 6502 para iniciantes

O 6502 tem três registradores de 8 bits, uma pilha de 256 bytes e alguns modos de endereçamento. Estas ideias levam você longe.

A tela é memória

Cada byte de $0200 a $05FF é um pixel, 32 por linha. STA $0200 colore o pixel do canto superior esquerdo; some $20 para descer uma linha.

A zero page é rápida

Os endereços $00–$FF usam um byte para serem indicados e um ciclo a menos para serem lidos. Guarde contadores e ponteiros ali.

Ponteiros usam (zp),Y

Guarde um endereço de 16 bits em dois bytes da zero page, byte baixo primeiro; então LDA ($10),Y lê desse endereço mais Y. Os exemplos Snake e de padrões usam isso para percorrer a tela.

Carry antes da matemática

ADC também soma o carry, então comece uma adição com CLC e uma subtração com SEC. Desvios como BCC e BCS testam o carry depois.

Modo decimal

Depois de SED, ADC e SBC contam em decimal: $58 + $46 dá $04 com o carry ativado (104). Útil para placares; desative de novo com CLD.

Leia as flags

Toda instrução de carga e aritmética atualiza N e Z. Avance por um loop e veja-as mudar antes do desvio que as testa.

WaveSpeed AI

Crie arte para seus projetos retrô

Crie sprites em pixel art, telas de título e clipes curtos para seus jogos e demos a partir de um prompt com a WaveSpeed AI.

  • Mais de 1.000 modelos de IA
  • Imagem, vídeo e 3D
  • Pague conforme o uso

$1 em créditos grátis para novas contas elegíveis. Sem cartão. Os geradores têm requisitos próprios de conta e créditos. O Emulador 6502 é grátis.

Perguntas frequentes sobre o emulador 6502

Este emulador 6502 é grátis?

Sim. É grátis, sem cadastro, sem anúncios e sem limites. Seu programa fica salvo no navegador e continua lá na próxima vez.

Qual 6502 ele emula?

O NMOS 6502 original com todas as 151 instruções documentadas, o modo decimal codificado em binário com o comportamento de flags do NMOS, o bug de página do JMP ($xxFF) e a contagem de ciclos documentada, incluindo as penalidades de cruzamento de página e de desvio.

Quão preciso ele é?

Ele passa em um programa de teste funcional de 6502 amplamente usado e em 1,5 milhão de casos de teste de instrução única que verificam registradores, flags, memória e contagem de ciclos.

Qual é o mapa de memória?

64 KB de RAM. A tela fica em $0200–$05FF (um byte por pixel, 16 cores), ler $FE retorna um novo byte aleatório, $FF guarda a última tecla pressionada e os programas carregam em $0600. Programas escritos para os tutoriais populares de 6502 para iniciantes que usam esse layout rodam sem alterações.

Como envio teclas para meu programa?

Clique ou toque na tela e digite: o código ASCII da tecla vai para $FF. As setas do teclado e as setas na tela enviam w, a, s e d, que os exemplos Snake e Paint usam.

Qual sintaxe de assembler é suportada?

Rótulos (loop: ou uma palavra no início da linha), constantes (define name value ou name = value), *= ou .org, .byte/dcb, .word, .text, .asciiz e .res, números em hex ($FF), binário (%1010), decimal e caracteres ('A'), aritmética, e < e > para o byte baixo e alto. Um valor abaixo de $100 usa a zero page; escreva $00FF para forçar a forma absoluta.

Como funcionam os breakpoints e o passo a passo?

Clique no número de uma linha (ou pressione F9 em uma linha) para definir um breakpoint. Executar para antes dessa instrução; Passo (F10) executa uma instrução e destaca a linha dela. Registradores, flags, memória e desmontagem se atualizam a cada parada, o que torna isso uma ótima forma de aprender assembly 6502.

Posso salvar ou compartilhar meu programa?

Seu programa é salvo automaticamente no navegador. Você também pode salvá-lo como arquivo .asm, baixar o .bin montado, copiar um hex dump, salvar o estado inteiro da máquina ou copiar um link que contém o programa.

Meu código é enviado para algum lugar?

Não. A montagem e a execução acontecem no seu navegador. Um link de compartilhamento guarda o programa na parte do endereço depois do #, que os navegadores não enviam ao servidor.

Todas as ferramentas grátis

Rode seu primeiro programa 6502

Grátis, no navegador, com depurador.

Abrir o emulador