| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Проблема с компилированием программы. |
| Автор: Zastra 20.12.2009, 13:57 |
| Всем привет. Работаю с ASM в Far manager'е, тоесть сначала пишу через редактор фара листинг в файле с расшир. .asm, потом получаю файл *.obj, захожу в него ошибок нету, в командной строке пишу far (так мы делаем в универе), но файл *.exe не появляется. Подскажите в чём может быть проблема. |
| Автор: Mikl_ 21.12.2009, 06:33 |
| Zastra, с каким конкретно ассемблером ты работаешь? tasm, masm, fasm, yasm, a86, gas, ... ? Ответь на этот вопрос и тебе подскажут в чем проблема. Еще немаловажный вопрос -- под какую операционную среду ты пишешь ехе? DOS, Windows 3.11, Windows 95/98/NT/ME/2k/XP/Vista там разные exe-шники получаются -- уточни |
| Автор: Zastra 21.12.2009, 15:43 |
| Понял, говорю) TASM, Windows XP SP2. |
| Автор: Mikl_ 23.12.2009, 05:31 | ||||||||||||
| Zastra, приходится писать под DOS и Windows используя TASM, MASM, WASM (Watcom Assembler), FASM, NASM - исходный файл с расширением asm, а требуется com,exe,dll,lib да еще могут быть console, gui... Можно ли предельно упростить сборку. а не писать каждый раз новый bat? Итак первая строка asm-файла - нам требуется masm, dos, com
Вариант первый. Если ASM файлы набираются в FAR'е жмем на F9-->команды-->асоциации файлов-->F4 "Маска файла"-->"*.asm" "Команда, выполняемая по Enter"-->"call asm.bat !" а сам asm.bat копируем в %windir%. Вариант второй. Если набор ASM файлов в NotePad, или еще где-то тогда в bat'е переделай все %1 на %~n1 щелкаем по "Мой компьютер"-->"Сервис"-->"Свойства папки"-->"Типы файлов" и связываем файлы асм с батником. Пишем asm.bat следующего содержания
Процедура read_settings читает первую строку asm-файла и работат с первыми пятью лексемами, разделенными пробелами или табуляцией и сопоставлет их с переменными начиная с %%A, первое поле знак ";" экранирует всю строку второе поле -- %%A, третье -- %%B, если пятое поле равно # -- выходим из процедуры. Далее по значениям в переменых compiler, kind_of_file, os обрабатываем asm- файл, как из них делать com,exe,dll,lib для TASM и MASM написано здесь От себя добавлю для NASM
для WASM (здесь указаны наиболее часто используемые dll)
для GOASM (console)
для GOASM (gui)
В аттаче универсальный бат-файл для ассемблирования |
| Автор: Zastra 23.12.2009, 20:14 |
| Mikl_, спасибо тебе огромное, сейчас же буду пробовать!) |