Как упростить компиляцию программ на ассемблере
Как известно, компиляторы ассемблера работают в командной строке, и,
чаще всего, не имеют своего текстового редактора. А если и имеют – то
без синтаксической подсветки. Так что для набора программы можно
пользоваться редактором вроде Bred, а как без проблем компилировать – я
покажу
Инструкция
Уровень сложности: Несложно
1 шаг
Определимся с папками. Предположим, компилятор MASM в папке C:\masm32\bin, а код программы – файл С:\masm32\projects\proba\proba.asm
Создаем в папке с кодом программы текстовый файл и переименовываем в "compile.bat”.
2 шаг
Открываем и вводим (или копируем отсюда):
cd ..\..\bin\
echo -——————- ASSEMBLING -——————-
ml /c /coff "..\projects\proba\proba.asm” /Fo "proba.obj”
echo -——————- LINKING -——————-
link /SUBSYSTEM:WINDOWS /OUT:"proba.exe” "proba.obj”
echo -——————- MOVING -——————-
move /Y proba.obj ..\projects\proba\
move /Y proba.exe ..\projects\proba\
pause
cd ..\projects\proba\
proba.exe
pause
Теперь рассмотрим, что же делает данный файл при запуске
3 шаг
> cd ..\..\bin\
Переходим из папки с кодом программы (С:\masm32\projects\proba\) в папку с компилятором (C:\masm32\bin)
4 шаг
> echo -——————- ASSEMBLING -——————-
> ml /c /coff "..\projects\proba\proba.asm” /Fo "proba.obj”
В консоль выводится сообщение, что идет компиляция, после чего
запускается компиляция файла с кодом программы. Результат – объектный
файл C:\masm32\bin\proba.obj
5 шаг
> echo -——————- LINKING -——————-
> link /SUBSYSTEM:WINDOWS /OUT:"proba.exe” "proba.obj”
В консоль выводится сообщение о линковке, после чего запускается линковщик. Результат – программный файл C:\masm32\bin\proba.exe
6 шаг
> echo -——————- MOVING -——————-
> move /Y proba.obj ..\projects\proba\
> move /Y proba.exe ..\projects\proba\
В консоль выводится сообщение о перемещении файлов, файлы proba.obj и proba.exe перемещаются в папку с кодом программы
7 шаг
> pause
> cd ..\projects\proba\
> proba.exe
> pause
Ждем нажатия клавиши (чтобы пользователь мог просмотреть результаты
компиляции), после этого переходим обратно в исходную папку и запускаем
программу. Последняя пауза – чтобы консольное окно не закрылось, пока
пользователь не нажмет любую кнопку ещё раз (её можно убрать).
8 шаг
< ШАБЛОН >
Если вы хранить в папке projects много проектов, то можно сделать шаблон
файла "compile.bat”, и потом для каждого нового проекта лишь делать две
замены (блокнотом, или Bred’ом, или любой другой программой). Для
проекта projects\newproject\main.asm нужны две замены:
"{folder}”→"newproject”, "{file}”→"main”.
Текст шаблона:
cd ..\..\bin\
echo -——————- ASSEMBLING -——————-
ml /c /coff "..\projects\{folder}\{file}.asm” /Fo "{file}.obj”
echo -——————- LINKING -——————-
link /SUBSYSTEM:WINDOWS /OUT:"{file}.exe” "{file}.obj”
echo -——————- MOVING -——————-
move /Y {file}.obj ..\projects\{folder}\
move /Y {file}.exe ..\projects\{folder}\
pause
cd ..\projects\{folder}\
{file}.exe
pause
|