Симулятор счётчика команд

Трасса PC

Используйте метки вроде loop:, последовательные инструкции вроде LOAD или ADD, ветвления вроде BR label или BR +8, а также JMP, CALL, RET и HALT.

Далее

Этот учебный симулятор назначает адрес каждой непустой строке команды и отслеживает упрощённый счётчик команд (PC). Он не считает строки кода, операторы или токены, не компилирует и не выполняет язык программирования.

Как проследить листинг

  1. 1

    Введите короткий листинг

    Используйте одну команду фиксированной длины на строку и необязательные ASCII-метки, например loop:.

  2. 2

    Выберите модель адресов

    Задайте начальный адрес, размер 1, 2, 4 или 8 байт, ширину 16/24/32 бита и формат.

  3. 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. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Инструмент доступен на других языках