Необходимость
Появилась необходимость сделать задание в x86 ассемблере, для DOS.
Использование виртуальной машины мне показалось слишком неудобным и громоздким решением.
Поэтому было решено сделать стенд для OSX.
Стоит отметить что данный стенд может быть переделан для работы в Windows.
Идея
Для запуска DOS приложений годиться отличное приложение DOS-BOX эмулирующее x86 компьютер с предустановленным на него DOS. В качестве компилятора ассемблера автор решил выбрать TASM - имхо лучший ассемблер для данной OS.
Реализация
Реализация представляет из себя набор BAT и SH скриптов, для DOS-BOX и OSX.
Каждый "проект" должен лежать в папке Project, или в подпапке, и представляет из себя папку с несколькими файлами:
- @debug.command - shell скрипт для компиляции и запуска в отладчике TurboDebugger
- @run.command - shell скрипт для компиляции и запуска
- config.bat - здесь необходимо указать название главного asm файла
- ***.asm - главный asm файл
Остальные файлы для внутренного использования и не имеют особого интереса.
@root в корне стенда необходим для того чтобы скрипт запуска мог найти корень виртуального диска C.
Стенд уже содержит все необходимые файлы для работы в том числе TASM и настроенный DOS-BOX.
Шаблон простейшего проекта лежит в Projects/Template/.
Для создания своего проекта создайте дубликат данной папки, переименуйте эту папку, и по желанию переименуйте asm файл, не забыв указать навое название asm файла в config.bat
Стенд уже содержит все необходимые файлы для работы в том числе TASM и настроенный DOS-BOX.
Шаблон простейшего проекта лежит в Projects/Template/.
Для создания своего проекта создайте дубликат данной папки, переименуйте эту папку, и по желанию переименуйте asm файл, не забыв указать навое название asm файла в config.bat
Редактор
Для удобного редактирования и запуска хорошо подошел редактор Geany(www.geany.org),
который надо настроить следующим образом:
1. Открыть любой asm файл в редакторе
2. Кликнуть по пункту меню Build->Set Build Commands
3. Внести следующие изменения:

!Важно!
Run и Debug надо вводить как _Run и _Debug
Изменения для копипаста:
_Run; %p/@run.command; %p
_Debug; %p/@debug.command; %p
Теперь вы можете запускать "проект" нажатием кнопок на тулбаре или используя функциональные клавиши F8(Run) и F9(Debug):
Дайте два!
Загрузить стенд можно на GitHub:


Комментариев нет:
Отправить комментарий