Simulatore del program counter

Traccia PC

Usa etichette come loop:, istruzioni sequenziali come LOAD o ADD, branch come BR label o BR +8, più JMP, CALL, RET e HALT.

Questo simulatore didattico assegna un indirizzo a ogni riga di istruzione non vuota e traccia un program counter (PC) semplificato. Non conta righe di codice, istruzioni sorgente o token e non compila né esegue un linguaggio.

Come tracciare un elenco

  1. 1

    Inserisci un elenco breve

    Usa un’istruzione a larghezza fissa per riga ed eventuali etichette ASCII come loop:.

  2. 2

    Scegli il modello di indirizzi

    Imposta indirizzo iniziale, dimensione di 1, 2, 4 o 8 byte, larghezza 16/24/32 bit e formato.

  3. 3

    Imposta la traccia

    Considera tutti i branch riconosciuti presi o non presi, scegli 1–80 passi e controlla ogni transizione.

Modello supportato

Elemento Comportamento
Altro opcode, come LOAD o ADD Avanza della dimensione fissa scelta
BR, BRA, BRANCH, BEQ, BNE, BGT, BGE, BLT, BLE, BZ, BNZ, JZ, JNZ Applica l’opzione globale preso/non preso
JMP, JUMP, GOTO Salta a un’etichetta o indirizzo numerico
CALL, JSR, BL / RET, RETURN Inserisce / estrae un indirizzo di ritorno simulato
HALT, HLT, STOP Si ferma sul PC corrente

Le destinazioni possono essere etichette ASCII, indirizzi decimali o esadecimali con 0x. Un valore con segno come +8 è relativo al PC sequenziale successivo; un numero senza segno è assoluto. Gli indirizzi vanno in overflow entro la larghezza scelta. // e ; iniziano un commento. Gli operandi sono solo visualizzati.

Limiti e privacy

  • L’input viene troncato a 1.800 caratteri e il parsing si ferma dopo 200 istruzioni.
  • La traccia ammette 1–80 passi; tutti i branch condizionali condividono un’unica scelta globale.
  • Non emula registri, memoria, flag, pipeline, delay slot, codifica o istruzioni a lunghezza variabile.
  • La modalità normale invia l’elenco a questo sito tramite Livewire; il percorso guidato lo inserisce anche nell’URL. Non incollare codice riservato.

Domande frequenti

No. Assegna indirizzi alle righe di istruzione e traccia il PC; non conta righe sorgente, istruzioni o token.

No. Riconosce un piccolo insieme generico di opcode di controllo. Gli altri avanzano il PC e gli operandi non vengono eseguiti.

Somma l’offset al PC sequenziale successivo. Da 0x1000 con istruzioni di 4 byte, la destinazione è 0x100C.

Viene inviato a questo sito per il rendering Livewire e inserito nell’URL del percorso. Non si usa un’API esterna, ma evita codice riservato.

Strumenti correlati