Симулятор счётчика команд
Используйте метки вроде loop:, последовательные инструкции вроде LOAD или ADD, ветвления вроде BR label или BR +8, а также JMP, CALL, RET и HALT.
Этот учебный симулятор назначает адрес каждой непустой строке команды и отслеживает упрощённый счётчик команд (PC). Он не считает строки кода, операторы или токены, не компилирует и не выполняет язык программирования.
Как проследить листинг
-
1
Введите короткий листинг
Используйте одну команду фиксированной длины на строку и необязательные ASCII-метки, например loop:.
-
2
Выберите модель адресов
Задайте начальный адрес, размер 1, 2, 4 или 8 байт, ширину 16/24/32 бита и формат.
-
3
Настройте трассировку
Считайте все распознанные ветвления выполненными или невыполненными, выберите 1–80 шагов и изучите переходы.
Поддерживаемая модель
| Элемент | Поведение |
|---|---|
Другой opcode, например LOAD или ADD |
Продвинуться на выбранный фиксированный размер команды |
BR, BRA, BRANCH, BEQ, BNE, BGT, BGE, BLT, BLE, BZ, BNZ, JZ, JNZ |
Применить общий выбор «выполнено/не выполнено» |
JMP, JUMP, GOTO |
Перейти к метке или числовому адресу |
CALL, JSR, BL / RET, RETURN |
Сохранить / извлечь имитацию адреса возврата |
HALT, HLT, STOP |
Остановиться на текущем PC |
Целью может быть ASCII-метка, десятичный или шестнадцатеричный адрес с 0x. Значение со знаком, например +8, отсчитывается от следующего последовательного PC; число без знака, абсолютное. Адреса циклически переполняются в выбранной разрядности. // и ; начинают комментарий. Операнды лишь отображаются.
Ограничения и конфиденциальность
- Ввод обрезается до 1800 символов, разбор прекращается после 200 команд.
- Трасса ограничена 1–80 шагами; все условные ветвления используют один общий выбор.
- Регистры, память, флаги, конвейер, слоты задержки, кодирование и переменная длина команд не имитируются.
- Обычный режим отправляет листинг этому сайту через сервер; пошаговый также включает его в URL. Не вставляйте конфиденциальный код.
Часто задаваемые вопросы
Нет. Он назначает адреса строкам команд и отслеживает PC; строки исходного кода, операторы и токены не считаются.
Нет. Распознаётся небольшой общий набор управляющих opcode. Остальные лишь двигают PC, операнды не выполняются.
Смещение добавляется к следующему последовательному PC. При 0x1000 и 4-байтных командах цель: 0x100C.
Он отправляется этому сайту для серверной обработки и в пошаговом режиме попадает в URL. Внешний API анализа не используется, но секретный код вставлять не следует.
Сопутствующие инструменты
Справочная таблица ASCII
Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.
Справочник символов HTML
Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.
Справочник сочетаний клавиш
Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.
Конвертер размера файлов
Преобразуйте значения между байтами, КБ, МБ, ГБ, ТБ и двоичными единицами IEC (KiB, MiB, GiB, TiB), свободно сочетая десятичные и двоичные единицы.
Конвертер CMYK в RGB
Преобразуйте проценты CMYK в приблизительные значения RGB и Hex для быстрого экранного предпросмотра по стандартной формуле.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Инструмент доступен на других языках
- Simulador de contador de programa [PT]
- Simulator för programräknare [SV]
- Trình mô phỏng bộ đếm chương trình [VI]
- プログラムカウンターシミュレーター [JA]
- Simulador del contador de programa [ES]
- محاكي عدّاد البرنامج [AR]
- Programmzähler-Simulator [DE]
- Simulateur de compteur de programme [FR]
- 프로그램 카운터 시뮬레이터 [KO]
- Simulator program counter [ID]
- เครื่องจำลองตัวนับโปรแกรม [TH]
- Programmatellersimulator [NL]
- Symulator licznika rozkazów [PL]
- Program Counter Simulator [EN]
- Simulatore del program counter [IT]
- Program sayacı simülatörü [TR]
- 程序计数器模拟器 [ZH]