Symulator licznika rozkazów
Używaj etykiet takich jak loop:, instrukcji sekwencyjnych takich jak LOAD lub ADD, rozgałęzień takich jak BR label lub BR +8, a także JMP, CALL, RET i HALT.
Ten symulator edukacyjny przypisuje adres każdemu niepustemu wierszowi instrukcji i śledzi uproszczony licznik rozkazów (PC). Nie liczy wierszy kodu, instrukcji źródłowych ani tokenów oraz nie kompiluje ani nie wykonuje języka programowania.
Jak śledzić listing
-
1
Wpisz krótki listing
Użyj jednej instrukcji o stałej długości w wierszu i opcjonalnych etykiet ASCII, np. loop:.
-
2
Wybierz model adresów
Ustaw adres początkowy, rozmiar 1, 2, 4 lub 8 bajtów, szerokość 16/24/32 bity i format.
-
3
Ustaw śledzenie
Traktuj globalnie wszystkie rozpoznane rozgałęzienia jako wykonane lub niewykonane, wybierz 1–80 kroków i sprawdź przejścia.
Obsługiwany model
| Element | Zachowanie |
|---|---|
Inny opcode, np. LOAD lub ADD |
Przejdź o wybrany stały rozmiar instrukcji |
BR, BRA, BRANCH, BEQ, BNE, BGT, BGE, BLT, BLE, BZ, BNZ, JZ, JNZ |
Zastosuj globalny wybór wykonane/niewykonane |
JMP, JUMP, GOTO |
Skocz do etykiety lub adresu liczbowego |
CALL, JSR, BL / RET, RETURN |
Odłóż / pobierz symulowany adres powrotu |
HALT, HLT, STOP |
Zatrzymaj się na bieżącym PC |
Celem może być etykieta ASCII, adres dziesiętny albo szesnastkowy z 0x. Wartość ze znakiem, np. +8, jest względna wobec następnego sekwencyjnego PC; liczba bez znaku jest bezwzględna. Adresy zawijają się do wybranej szerokości. // i ; rozpoczynają komentarz. Operandy są tylko wyświetlane.
Ograniczenia i prywatność
- Dane są skracane do 1800 znaków, a analiza kończy się po 200 instrukcjach.
- Ślad ma 1–80 kroków; wszystkie rozgałęzienia warunkowe współdzielą jeden wybór globalny.
- Nie są emulowane rejestry, pamięć, flagi, potoki, delay sloty, kodowanie ani zmienne długości instrukcji.
- Tryb standardowy wysyła listing do tej witryny przez serwer, a tryb krokowy umieszcza go także w URL. Nie wklejaj poufnego kodu.
Najczęściej zadawane pytania
Nie. Adresuje wiersze instrukcji i śledzi PC; nie liczy wierszy źródłowych, instrukcji ani tokenów.
Nie. Rozpoznaje niewielki ogólny zestaw opcode’ów sterujących. Inne tylko przesuwają PC, a operandy nie są wykonywane.
Przesunięcie jest dodawane do następnego sekwencyjnego PC. Dla 0x1000 i instrukcji 4-bajtowych celem jest 0x100C.
Trafia do tej witryny w celu renderowania na serwerze, a w trybie krokowym również do URL. Nie korzysta z zewnętrznego API analizy, ale unikaj poufnego kodu.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator EditorConfig
Zbuduj plik .editorconfig z własnych reguł wcięć, końca linii i kodowania, a potem dodaj poprawną sekcję dla każdego języka w repozytorium: Python, Go, YAML, Makefile i więcej.
Walidator adresów e-mail
Zweryfikuj adres e-mail: sprawdzenie składni RFC 5322, sprawdzenie rekordu MX w czasie rzeczywistym oraz szczegóły dotyczące części lokalnej, domeny i długości. Żadna wiadomość nie jest wysyłana.
Formatowanie HTML
Formatuj HTML lokalnie w przeglądarce, używając wcięć dwóch lub czterech spacji. HTML nie jest wysyłany ani walidowany.
Narzędzie jest dostępne w innych językach
- Simulador del contador de programa [ES]
- Simulateur de compteur de programme [FR]
- Simulator program counter [ID]
- Simulator för programräknare [SV]
- محاكي عدّاد البرنامج [AR]
- プログラムカウンターシミュレーター [JA]
- 프로그램 카운터 시뮬레이터 [KO]
- Programmatellersimulator [NL]
- Trình mô phỏng bộ đếm chương trình [VI]
- เครื่องจำลองตัวนับโปรแกรม [TH]
- Simulador de contador de programa [PT]
- Programmzähler-Simulator [DE]
- Симулятор счётчика команд [RU]
- Program sayacı simülatörü [TR]
- 程序计数器模拟器 [ZH]
- Program Counter Simulator [EN]
- Simulatore del program counter [IT]