| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Как создать объектный файл masm32 |
| Автор: tseburaska 2.3.2014, 17:40 |
| Как создать объектный файл если начало такое D:\masm32\topgun.exe D:\MYPROG\atest.asm D:\masm32 это папка с подпапками ассемблера D:\MYPROG\atest.asm это моя программа Допустим Как создать обьектны файл в D:\MYPROG ? Вызывать через пуск выполнить или как? |
| Автор: tseburaska 3.3.2014, 19:32 |
| ,,,, Дальше нам с вами необходимо создать объектный файл с расширением .obj и произвольным названием. Для этого мы вызываем ассемблер. Введем в командную строку следующее, внимательно. C:\MASM611\ml /c miprog.asm Вот. Теперь нам необходимо произвести компоновку объектного файла. А для этого мы с вами введем в командную строку это C:\MASM611\BINR\link /TINY miprog.obj,,NUL,,, Вот. Этой строкой мы вызвали компоновщик, который и сделал необходимую нам работу. ,,,, Что это написано?? Где и как найти эту командную строку? Я вхожу через cmd.exe |
| Автор: LeonidPr 4.3.2014, 08:01 | ||
| Вот когда cmd.exe запустили видите моргающую палочку горизонтальную, вот она ваша командная строка, дальше ручками вводите то, что вам указывают. Ввели, нажимаете Enter, команда выполняется. В вашем случае надо вводить (только удостоверьтесь, что вы находитесь в папке d:\myprog)
Если ошибок не было, в папке d:\myprog должен появиться файл myprog.exe (или скорее всего .com, не помню точно ключи линкера). |
| Автор: tseburaska 4.3.2014, 11:00 |
| Спасибо!!!! Сейчас попробую. |
| Автор: tseburaska 4.3.2014, 11:26 |
| Ассеблер я так понимаю действительно вызвался, хотя я его и не вижу. А появления еще какого то файла я пока не вижу. Может он появится и должен на втором шаге. |
| Автор: tseburaska 4.3.2014, 11:38 |
| Что-то не выходит. |
| Автор: tseburaska 4.3.2014, 22:52 |
| Бат файл может кто-нибудь откомментировать код? set filename=%1 set masm_path=\masm32 if exist %filename%.rc ( %masm_path%\bin\rc /v %filename%.rc %masm_path%\bin\cvtres /machine:ix86 %filename%.res %masm_path%\bin\ml /c /Cp /Gz /I%masm_path%\include /coff /nologo %filename%.asm || exit %masm_path%\bin\Link /SUBSYSTEM:WINDOWS /ALIGN:16 ^ /LIBPATH:%masm_path%\lib /NOLOGO %filename%.obj %filename%.res || exit del %filename%.res ) pause else ( %masm_path%\bin\ml /c /Cp /Gz /I%masm_path%\include /coff /nologo %filename%.asm || exit %masm_path%\bin\Link /SUBSYSTEM:WINDOWS /ALIGN:16 ^ /LIBPATH:%masm_path%\lib /NOLOGO %filename%.obj ) pause |
| Автор: tseburaska 5.3.2014, 10:55 |
| Спасибо!!!! Сейчас попробую. |
| Автор: tseburaska 5.3.2014, 21:06 |
| set filename=%1 rem мы создаем переменную в которую у нас помещается значение.. Запуская его мышью Вы не передаете в него никаких параметров. set masm_path=\masm32 rem мы создаем переменную в которую у нас помещается путь в masm32? if exist %filename%.rc ( rem если существует значение переменной filename .rc это что? А, это какое-то расширение. %masm_path%\bin\rc /v %filename%.rc rem /v это что означает? Я нашол rc.exe Это Microsoft Resource Compiler %masm_path%\bin\cvtres /machine:ix86 %filename%.res rem Я нашол cvtres.exe Это Resource File To COFF Object Conversion Utility %masm_path%\bin\ml /c /Cp /Gz /I%masm_path%\include /coff /nologo %filename%.asm || exit rem /c /Cp /Gz /I% Это что?Действительно, это что? Я из rem всей строки понимаю только %masm_path% -это значение переменной. %masm_path%\bin\Link /SUBSYSTEM:WINDOWS /ALIGN:16 ^ rem ^ - означает, что команда продолжается в следующей строке;Link - линковщик? \Link /SUBSYSTEM:WINDOWS /ALIGN:16 это что? /LIBPATH:%masm_path%\lib /NOLOGO %filename%.obj %filename%.res || exit rem Это что? del %filename%.res rem Это что? ) |