Crates.io | bevm |
lib.rs | bevm |
version | 0.1.1 |
source | src |
created_at | 2023-05-04 13:36:09.20041 |
updated_at | 2023-05-04 13:39:35.71542 |
description | Emulator of Basic EVM for itmo students |
homepage | https://github.com/JustAGod1/bevm |
repository | https://github.com/JustAGod1/bevm |
max_upload_size | |
id | 856721 |
size | 1,287,963 |
Наиболее приближенный к реальности эмулятор БЭВМ сделанный по вот этой книге
Отличается от других реализацией кол-вом полезных фич и близостью к "настоящей" БЭВМ, легковесностью и портированностью под все платформы.
Архивы и образы для каждой платформы находятся в разделе релизов
cd /Applications
. Затем Enterxattr -rd com.apple.quarantine "BasePC 2.0.app"
. Затем Enter.Это все нужно потому что, я не хочу платить Apple 99 bucks за сертификат.
Уверен вам линуксоидам больше объяснений не требуется.
Для арчеводов @Iamnotagenius подготовил aur package
В этой реализации БЭВМ можно писать не только хексом, но и мнемоникой напрямую. То есть текстом.
Это уже классика но тем не менее нельзя не упомянуть. В этом эмуляторе БЭВМ конечно же есть возможность автоматического создания таблиц трассировки.
Имеется поддержка очень простого ASM подобного языка.
Например:
$pos 10
CLA $start
BMI %then
BR %start
$pos 15
ISZ 2 $then
BR %start
Если загрузить это в память ЭВМ получится
Подробнее описано во внутренней справке БЭВМ. Кстати...
Все понимают что смотреть в методичку всем лень, потому в этой БЭВМ есть встроенная справка.
Можно посмотреть на справку по отдельной команде:
Или же на все команды в целом:
В окне со справкой есть еще пару отделов и в дополнение к тому практически все компоненты БЭВМ рисуют попап с краткой информацией о них.
В нижней панели БЭВМ вы можете увидеть лог выполняемых командами действий.
Считаю, очень удобно когда вам нужно понять, что происходит в программе.
В этой БЭВМ нет принципиально ничего неизменяемого. Все флаги, которые работают в "каноничной" БЭВМ работают и в этой. У каждого флага имеется свой эффект и подробное описание.
Кнопки отладки придерживаются того же принципа, что и пульт отладки "каноничной" БЭВМ, но при этом сохраняют свою интуитивность.