Simulador de contador de programa
Use rótulos como loop:, instruções sequenciais como LOAD ou ADD, desvios condicionais como BR label ou BR +8, além de JMP, CALL, RET e HALT.
Este simulador didático atribui um endereço a cada linha de instrução não vazia e traça um contador de programa (PC) simplificado. Ele não conta linhas de código, comandos ou tokens e não compila nem executa uma linguagem.
Como traçar uma listagem
-
1
Insira uma listagem curta
Use uma instrução de tamanho fixo por linha e rótulos ASCII opcionais como loop:.
-
2
Escolha o modelo de endereços
Defina endereço inicial, tamanho de 1, 2, 4 ou 8 bytes, largura de 16/24/32 bits e formato.
-
3
Configure o rastreamento
Trate globalmente todos os desvios reconhecidos como tomados ou não, escolha 1–80 passos e examine as transições.
Modelo aceito
| Item | Comportamento |
|---|---|
Outro opcode, como LOAD ou ADD |
Avança pelo tamanho fixo escolhido |
BR, BRA, BRANCH, BEQ, BNE, BGT, BGE, BLT, BLE, BZ, BNZ, JZ, JNZ |
Aplica a opção global tomado/não tomado |
JMP, JUMP, GOTO |
Salta para rótulo ou endereço numérico |
CALL, JSR, BL / RET, RETURN |
Empilha / desempilha endereço de retorno simulado |
HALT, HLT, STOP |
Para no PC atual |
Os destinos podem ser rótulos ASCII, endereços decimais ou hexadecimais com 0x. Um destino com sinal, como +8, é relativo ao próximo PC sequencial; um número sem sinal é absoluto. Os endereços dão a volta dentro da largura escolhida. // e ; iniciam comentários. Os operandos só são exibidos.
Limites e privacidade
- A entrada é cortada em 1.800 caracteres e a análise para após 200 instruções.
- O rastreamento aceita 1–80 passos; todos os desvios condicionais compartilham uma única opção global.
- Não emula registradores, memória, flags, pipeline, delay slots, codificação nem instruções de tamanho variável.
- O modo normal envia a listagem a este site via servidor; o funil também a inclui na URL. Não cole código confidencial.
Perguntas frequentes
Não. Ela atribui endereços às linhas de instrução e traça o PC; não conta linhas-fonte, comandos ou tokens.
Não. Reconhece um conjunto genérico pequeno de opcodes de controle. Os demais apenas avançam o PC e os operandos não são executados.
O deslocamento é somado ao próximo PC sequencial. Em 0x1000 com instruções de 4 bytes, o destino é 0x100C.
Ela vai para este site para renderização no servidor e, no funil, entra na URL. Nenhuma API externa analisa o código, mas evite conteúdo confidencial.
Ferramentas relacionadas
Gerador de cards CSS
Crie um card com seu título, texto e link opcional. Ajuste cores, borda, espaçamento, sombra e efeito ao passar o mouse. Depois copie ou baixe o HTML e o CSS.
Gerador de textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Gerador de Imagem Markdown
Gere a sintaxe de imagem do Markdown com texto alternativo, atributo de título e link opcional. Saída inline e em estilo de referência.
Ferramenta disponível em outros idiomas
- プログラムカウンターシミュレーター [JA]
- Simulator för programräknare [SV]
- Programmzähler-Simulator [DE]
- Symulator licznika rozkazów [PL]
- Programmatellersimulator [NL]
- Simulateur de compteur de programme [FR]
- เครื่องจำลองตัวนับโปรแกรม [TH]
- Simulator program counter [ID]
- Simulador del contador de programa [ES]
- محاكي عدّاد البرنامج [AR]
- Trình mô phỏng bộ đếm chương trình [VI]
- 프로그램 카운터 시뮬레이터 [KO]
- Program Counter Simulator [EN]
- Simulatore del program counter [IT]
- Симулятор счётчика команд [RU]
- Program sayacı simülatörü [TR]
- 程序计数器模拟器 [ZH]