Воскресенье, 19.05.2024, 11:17
Приветствую Вас Гость | RSS
Главная | | Регистрация | Вход
Меню сайта
Форма входа
Поиск
Календарь
«  Февраль 2012  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
272829
Архив записей
Наш опрос
Оцените мой сайт
Всего ответов: 20
Мини-чат
Друзья сайта
  • Заказ Художник
  • Рыбалка
  • Новости
  • Наш университет io-96
  • Железо и другие
  • Наш Counter-Strike
  • Google ot Turbokherson
  • Google ot Turbokherson87
  • Android
  • Программы и Софт
  • Программирование
  • Лечение здоровья
  • О Ремонт компьютер
  • Наш сайт Turbokherson
  • Программирование ICQ 378204653 от Turbokherson
    Главная » 2012 » Февраль » 12 » Как упростить компиляцию программ на ассемблере
    12:01
    Как упростить компиляцию программ на ассемблере

    Как упростить компиляцию программ на ассемблере


    Как известно, компиляторы ассемблера работают в командной строке, и, чаще всего, не имеют своего текстового редактора. А если и имеют – то без синтаксической подсветки. Так что для набора программы можно пользоваться редактором вроде Bred, а как без проблем компилировать – я покажу

    Инструкция

    Уровень сложности: Несложно

    1 шаг

    778_small

    Определимся с папками. Предположим, компилятор MASM в папке C:\masm32\bin, а код программы – файл С:\masm32\projects\proba\proba.asm
    Создаем в папке с кодом программы текстовый файл и переименовываем в "compile.bat”.

    2 шаг

    779_small

    Открываем и вводим (или копируем отсюда):

    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 шаг

    785_small

    < ШАБЛОН >
    Если вы хранить в папке 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

    Просмотров: 611 | Добавил: Turbokherson | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Создать бесплатный сайт с uCozCopyright MyCorp © 2024