Да, что-то совсем туплю. Сначала попробовал в Настройка - шрифты заглянуть, а только потом ваш ответ получил. Но как работать мне всё равно не ясно. Опишу все проделанные действия: 1. Скачал с radasm.cherrytree.at архив с самим радасмом, assebly.zip (тут сказано, что необходим) и локализатор language.zip, всё распаковал в одну папку. 2. Заглянул в Настройки - установить пути. Всё верно, A$ указывает на папку в которой MASM32 и установлен: C:\Masm32 3. Создаю проект, выбираю ассемблер - masm, тип проекта - Dos App, жму далее, выбираю шаблон DosExe.tpl 4. Набиваю код в asm-файле 5. Выбираю Создать - Assemble. Пишет: Код (Text): C:\Masm32\Bin\ML.EXE /DMASM /DDOS /Zm /c /nologo /I"C:\Masm32\Include" "DOS_TEST_PROGA.asm" Assembling: DOS_TEST_PROGA.asm Make finished. Total compile time 1513 ms Всё нормально, obj-файл создался. 6. Теперь выбираю Создать - Link Выдаётся ошибка и пишет: Код (Text): C:\Masm32\Bin\doslnk.exe /NOLOGO "DOS_TEST_PROGA.obj" "",,,,,"" C:\Masm32\Bin\doslnk.exe /NOLOGO "DOS_TEST_PROGA.obj" "",,,,,"" Make finished. Total compile time 9656 ms Что-то я делаю не так или ещё каких компонентов не хватает?
SUNNY А номер ошибки было сложно написать? Пишешь программу под ДОС, длина имени файла в ДОСе 8 символов + точка + 3 символа расширение, поэтому переименуй свою "DOS_TEST_PROGA.ASM" в PRG1.ASM и будет тебе счастье!
Переименовал. Всё равно таже ошибка. Код (Text): Error during process creation C:\Masm32\Bin\doslnk.exe /NOLOGO "DOSTSTPR.obj" ",,,,," Только что посмотрел. У меня в bin нет никакого doslnk.exe, есть только link.exe и link16.exe. MASM32 версии 11, он вообще с RadAsm совместим?
Он в архиве зовётся LINK.EXE, а не DOSLNK.EXE. Если я сохраню его как BIN\DOSLNK.EXE всё будет работать, ну я имею в виду параметры которые RadAsm при вызове ему передаёт?
SUNNY link16.exe, который входит в masm32\bin тоже в девичестве назывался link.exe ver 5.60 -- стоило ли еще один link.exe с http://win32assembly.online.fr/download.html качать?
Ладно, качать пусть ничего не надо. А как мне RadAsm настроить чтобы в DOS-проектах правильный линковщик с правильными параметрами вызывался?
SUNNY А там есть masm.ini переименуй его в masm_dos.ini и разбирайся с содержимым в разделе [Make] А это результаты поиска на сайте, правда для ТАСМ https://wasm.ru/forum/viewtopic.php?id=22482
SUNNY Качать как раз надо -- по ссылке и правильный линковщек, и масм 6.15. Ассемблируем так -- ml /c file.asm Линкуем -- link file.obj Если нужна отладочная информация -- например мап.файл и листинг, то к опциям линкера добавить /Fl -- сгенерить файл листинга .lst /Fm -- карта связи. мап файл. /Fr -- перекрестныя ссылки. /Zd -- добавить номера строк в отладочную информацию. Вот все, больше ключи не нужны никакие имхо. ================================= Да есчо если надо сом -- то сделать так exe2bin file.exe file.com (но тут кодес должен быть изначально тини модель, псп етц)
MMIX а вот меня всегда смущало назначение exe2bin неужели сложно написать Код (Text): %masm_path%\bin\ml /AT /c %filename%.asm %masm_path%\bin\link16 /T %filename%.obj,,,,,
Mikl___ Так прозрачнее для новичков имхо. Виден полностью процесс создания объектного, егзе и ком файлов.
1. Что означают запятые в конце вызова LINK? 2. У меня в свойствах проекта (см. скриншот) Что означает это 0,O,$B 3. И, наконец, для создания DOS-программы можно пользоваться связкой MASM32+RadAsm или нужно достать из бабушкиного сундука MASM v.6?
LINK [ключи] <obj-файл>,<исполняемый_файл>,<map-файл>,<lib-библиотеки>,<def-определения> Где: def-определения - (путь и) имена входных def-файлов, необходимых для компоновки lib-библиотеки - (путь и) имена входных lib-файлов, необходимых для компоновки map-файл - (путь и) имя выходного файла отчёта исполняемый_файл - (путь и) имя выходного исполняемого файла obj-файл - (путь и) имя входного объектного файла. ключи - список возможных опций. если указать: link16 %filename%.obj,,,,, тогда у def-, lib-, map- и у исполняемого файла будет одно и тоже имя, совпадающее с именем obj-файла Посмотри внимательно ссылку, которую я дал в #29 3. Достаточно связки ml (который понимает ключ /AT)+ link16
Кстати с кодировкой RadAsm так и не уяснили. Можно в настройках шрифтов выбрать какой-нибудь кирилический шрифт для CP-1251 или шрифт Terminal для CP866, но этим меняется только отображение текста в редакторе, а пишешь всё равно в CP-1251. Можно ли сделать так, чтобы набирать код в CP866?