1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaowuzxc-Yduck-processor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
大黄鸭汇编器.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 4 месяцев назад 115f538

Компилятор «Большая жёлтая утка»

Введение

Компилятор «Большая жёлтая утка» — это скрипт на Python 3, который преобразует ассемблерные инструкции набора команд «Большой жёлтой утки» в двоичный код, понятный процессору. Он также имеет базовые функции анализа комментариев и проверки синтаксиса.

Использование

Перед использованием компилятора убедитесь, что на вашем компьютере установлена версия Python 3.x. Версия Python 2.x не поддерживается.
Для выполнения операций компиляции перейдите в каталог tools/asm.
Напишите свою программу сборки в файле asm.txt, который компилятор будет читать по умолчанию.

  1. Windows
    Запустите cmd и введите python, чтобы узнать текущую версию Python. Если она ниже Python 3.x, загрузите последнюю версию с официального сайта Python.
    После написания программы сборки дважды щёлкните run.bat, чтобы создать файлы out.txt и obj.txt в каталоге.
    Файл obj.txt содержит код, который будет прочитан RTL-кодом и фактически выполнен процессором.

  2. Linux
    Введите python3 в терминале, чтобы увидеть текущую версию Python. В случае ошибки выполните команду sudo apt install python3 для установки последней версии.
    После завершения написания программы сборки выполните команду make в терминале, чтобы создать файлы out.txt и obj.txt.
    Файл obj.txt содержит код, который будет прочитан RTL-кодом и фактически выполнен процессором.

Предварительная обработка

Предварительная обработка включает:

  • анализ и удаление комментариев;
  • удаление лишних пробелов, строк и символов табуляции;
  • вставку NOP между инструкциями SV-LD.
    Результатом предварительной обработки является файл out.txt.

Проверка синтаксиса

Проверка синтаксиса включает проверку инструкций и проверку непосредственных значений. Компилятор проверяет соответствие формата инструкций требуемому и наличие недопустимых символов. Также проверяется диапазон данных в инструкциях с непосредственными значениями.
Если во время проверки синтаксиса возникает ошибка, сравните её с файлом asm.txt для определения причины.

Скрипт компилятора

Assembler.py — основной скрипт компилятора, содержащий подробные комментарии и понятные имена переменных. Скрипт использует структурированный подход, разделяя основные функции на функции и выполняя последовательные действия, такие как чтение файла, предварительная обработка, запись промежуточного файла, проверка синтаксиса, компиляция и запись выходного файла.
В будущем возможно расширение функциональности, включая улучшенную проверку синтаксиса и ведение журнала.

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/xiaowuzxc-Yduck-processor.git
git@gitlife.ru:oschina-mirror/xiaowuzxc-Yduck-processor.git
oschina-mirror
xiaowuzxc-Yduck-processor
xiaowuzxc-Yduck-processor
master