Programmatellersimulator

PC-trace

Gebruik labels zoals loop:, sequentiële instructies zoals LOAD of ADD, vertakkingen zoals BR label of BR +8, plus JMP, CALL, RET en HALT.

Deze leersimulator wijst aan elke niet-lege instructieregel een adres toe en volgt een vereenvoudigde programmateller (PC). Hij telt geen bronregels, statements of tokens en compileert of voert geen programmeertaal uit.

Een instructielijst volgen

  1. 1

    Voer een korte lijst in

    Gebruik één instructie met vaste breedte per regel en eventueel ASCII-labels zoals loop:.

  2. 2

    Kies het adresmodel

    Stel beginadres, instructiegrootte 1, 2, 4 of 8 bytes, 16/24/32 bits en weergave in.

  3. 3

    Stel de trace in

    Behandel alle herkende branches globaal als genomen of niet genomen, kies 1–80 stappen en bekijk de overgangen.

Ondersteund model

Lijstonderdeel Gedrag
Andere opcode, zoals LOAD of ADD Ga verder met de gekozen vaste instructiegrootte
BR, BRA, BRANCH, BEQ, BNE, BGT, BGE, BLT, BLE, BZ, BNZ, JZ, JNZ Gebruik de globale keuze genomen/niet genomen
JMP, JUMP, GOTO Spring naar label of numeriek doel
CALL, JSR, BL / RET, RETURN Plaats / verwijder een gesimuleerd retouradres
HALT, HLT, STOP Stop op de huidige PC

Doelen kunnen ASCII-labels, decimale adressen of hexadressen met 0x zijn. Een doel met teken, zoals +8, is relatief aan de volgende sequentiële PC; een getal zonder teken is absoluut. Adressen lopen rond binnen de gekozen bitbreedte. // en ; starten commentaar. Operanden worden alleen getoond.

Grenzen en privacy

  • Invoer wordt afgekapt op 1.800 tekens en parsen stopt na 200 instructies.
  • De trace heeft 1–80 stappen; alle voorwaardelijke branches delen één globale keuze.
  • Registers, geheugen, flags, pipelines, delay slots, codering en variabele instructielengten worden niet geëmuleerd.
  • De standaardmodus stuurt de lijst via Livewire naar deze site; de stappenmodus zet haar ook in de URL. Plak geen vertrouwelijke code.

Veelgestelde vragen

Nee. Het adresseert instructieregels en volgt de PC; bronregels, statements en tokens worden niet geteld.

Nee. Het herkent een kleine generieke set besturingsopcodes. Andere opcodes gaan alleen verder en operanden worden niet uitgevoerd.

De offset komt bij de volgende sequentiële PC. Vanaf 0x1000 met 4-byte-instructies is het doel 0x100C.

Zij gaat naar deze site voor Livewire-weergave en in de stappenmodus ook in de URL. Er is geen externe analyse-API, maar vermijd vertrouwelijke code.

Gerelateerde tools