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 Livewire; 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 Livewire e, no funil, entra na URL. Nenhuma API externa analisa o código, mas evite conteúdo confidencial.
Ferramentas relacionadas
Conversor de ASCII para Hex
Converta texto ASCII em valores de byte hexadecimal. A saída usa dois dígitos hexadecimais por caractere, prontos para dumps de memória, rastreamentos de pacotes ou tabelas de firmware.
Conversor de ASCII para Binário
Converta qualquer string ASCII para sua representação binária. Cada caractere se torna oito bits, separados por espaços, prontos para colar em um rastreamento de protocolo ou tarefa de casa.
Gerador de Paletas de Cores
Gere paletas monocromáticas, análogas, complementares, triádicas ou tetrádicas a partir de uma cor base HEX e exporte variáveis CSS prontas para copiar.
Conversor de Binário para ASCII
Cole binário (bytes separados por espaço ou um longo fluxo de bits) e obtenha o texto ASCII que ele representa. Lida com codificações de 7 bits e 8 bits.
Conversor de BBCode para HTML
Converta BBCode (marcação de fórum) para HTML limpo. Lida com tags de formatação, listas, citações, código, imagens, links e tabelas.
Simplificador de Álgebra Booleana
Simplifique expressões booleanas usando mapas de Karnaugh e o algoritmo de Quine-McCluskey. Mostra cada passo de minimização e uma forma final SOP/POS.