foryourselfand / computer_science_basics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Утилита для работы с БЭВМ

Краткое описание

Данная утилита призвана упростить выполнение второй лабораторной работы по ОПД.
Принцип работы трасировки заключается в том, что утилита делает скриншот каждой области интерфейса, где содержатся данные, на каждом шаге выполнения программы.

Инструкция

  1. В директорию variants/ добавить текстовый файл с исходным кодом программы,
0B7a
8000v
0000v
4000v
0000v
LD 0B7+
ADD 0B8
OR 0B9
ST 0BA
HLT

где

  • v указывает на перемнную
  • a указывает на адрес
  • + указывает начало работы программы

Примечание: возможно использовать вариант записи команд не только мнемоникой, но и в hexadecimal системе счисления

  1. В аргументах trace_getter или words_writer (в зависимости от конкретной задачи) указать имя файла .txt с иходным кодом программы.
    configuration.png
  2. Запустить программу

!!! Окна БЭВМ и PyCharm должны находиться в одном переключении по Alt+Tab !!!

На выходе получится трасировка, представленная в нескольких видах:

  • Вывод в консоль
  • Файлы формата .txt и .csv в директории tracing/

TODO: Настраивать высоту и ширину изображения по которому делается скриншот Настраивать координаты каждого регистра, кидать ошибку если настройка неполная В настройках: по названию левый верх регистра, и длинна ширина, или левый верх и правый низ AC: 50, 50, 100, 100

Настроить цвет активной стрелочки и неактивной, и их координаты (возможно вводить только один край) Опять предупреждать об ошибке если таковая имеется

В Control Unit для каждого цикла выбрать координату

Цвет настраивается кодом цвета, не изображением

Конфиг json или yaml формата что бы было легко задавать изначально один единственный config но по ключу можно задавать путь для своего файла, главное что бы формат подходил

так сделать конфиг и для кастомного лаунчера бэвм как на яндекс диске тоесть длина слова, подходящие символы

максимальная проверка на тупого пользователя, если выкидывается исключение, то в понятном формате

по скачанному изображению на se.ifmo.ru переводить в программу, понятную нашей программе любой скрипт можно запускать как по изображению, так и по тексту. В первом случае просто изображение переведется в текст

из мнемоники переводить в текст забиваемый в бэвм и из текста забиваемого в бэвм получать описание программы или мнемонику

что бы не просто на alt + tab переходило, а что бы искало в во всех открытых окнах и активировало если запускаешь скрипт и bcomp не открыто, кидает ошибку что надо открыть кросплатформенно для мака и винды

word_writer: не только записать программу, но и выполнить ее до определенного адреса или команды или значения регистра или значения памяти (Выполняются теже действия как для непотактовой трассировки, определение состояния и выбор что делать) AC=0000 IP>=00000000001

About


Languages

Language:Python 99.9%Language:Shell 0.1%