Практикум по курсу "Архитектура ЭВМ и язык ассемблера"

На факультете в рамках курса "Архитектура ЭВМ и язык ассемблера" весеннего семестра 1 курса изучаются:
  • на первом потоке (группы 101-106): NASM
  • на остальных: морально устаревший, 16-разрядный MASM 4.0 под MS-DOS.

MASM 4.0

Исходный код обвязки для запуска MASM 4.0 в эмуляторе DOSBox для GNU/Linux и Windows (а скоро и плагины к текстовым редакторам для удобной работы) доступны на GitHub.

Важно: по ссылке выше не поставляется ни сам MASM, ни Turbo Debugger по юридическим причинам. Их можно взять здесь (на Windows можно открыть архиватором 7-zip).

Как получить готовую сборку из исходников:

Распакуем в некоторую директорию (к примеру, /path/to/dir):

git clone https://github.com/porrided/cmc-asm.git /path/to/dir

Доставим сами MASM и TD на место:

wget -qO - https://wiki.cs.msu.su/pub/Practicum/PracticumAssembler/capa.tar.gz | tar -xzf - -C /path/to/dir/assembler-linux

В практикумных Linux-системах MASM доступен из коробки по команде masm.

Как пользоваться

Образец использования: masm опции файл

Опции командной строки:

-v Подробнее описывает происходящее. Чем больше указано опций -v, тем больше отладочных данных будет выведено на экран. Вместо, к примеру, трёх -v можно написать -vvv. Чаще всего используется для отладки / выяснения проблем.

-d После ассемблирования запускает .exe в отладчике.

-s Только ассемблировать.

-l Только cкомпоновать.

-r Только запустить исполняемый файл в DOSBox.

-c "Почистить" (удалить все файлы, порождённые -s, -l). Если не обозначена ни одна из опций -s, -l, -r, то masm предполагает полный цикл действий.

Степени разговорчивости:
<0 silent абсолютное молчание (пока не реализован) (а кому он нужен вообще?)
0 normal (только критические ошибки)
1 dosbox (стандартный вывод DOSBox)
2 dosbox_echo_on (DOSBox пишет на экран каждую команду DOS)
3 paths (Отладочная информация: пути, описание шагов...)
4 config (Конфигурация DOSBox)

Коды ошибок:
0 успех
2 несуществующие опции командной строки
5 пустой или неверный конфигурационный файл DOSBox
10 ошибка компиляции
11 ошибка компоновки
40 не с чем работать
41 имя файла не распознано (по расширению)
Topic revision: r15 - 07 Sep 2016, PorriDed
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WikiCMC? Send feedback