Alekcandr, рискну предположить, что тебе нужна такая штука, типа текстового редактора- среда программирования или как она там. У меня, чтобы она появилась, я в папке C\masm32 тыкаю мышью на qeditor.exe. Всё, masm запустился, если ты это имел ввиду. Я скачал свой masm отсюда. Где ты там нашёл masm.exe ума не приложу http://wasm.ru/baixado.php?mode=tool&id=48
да! я с SoftICE спутал гы-гы, всё в голове держать трудна =) отдельные фамилии помню лишь фонетически (анекдод прапорщик - вода закипает при 90 degr... а это я с прямым углом спутал гггг =) )
Начинаю вроде врубаться только для начала не могу самое элементарное скомпелировать такой код CSEG segment org 100h Begin: mov ah,9 mov dx,offset Message int 21h int 20h Message db 'Hello, world!$' CSEG ends end Begin хочу получить com файл для начало .obj пытаюсь получить таким способом ml /c prog.asm (prog.asm это имя моего файла под которым сохранен написанный код),а он выдает c:\masm32\ml.exe не является приложением win32 как быть? набирал в Masm32 geditor помогите для начало а то хочется понять да застрял на самом легком
может %PATH% надо прописать? что-то у тебя явно глюки какие-то! (говорил же фасм легче и иде сразу имеешь заодно)
Alekcandr Ой, с СОМ-файлами большие проблемы... Дело в том, что МАСМ (точней, его компоновщик, на жаргоне -- "линкер", потому что по-английски -- linker) давно разучился их делать. Поэтому для создания СОМ-файлов нужен другой компоновщик, например, UniLink. Скачать его можно вот отсюда: ftp://ftp.styx.cabel.net/pub/UniLink/. Ищется архив ULNBxxxx.ZIP, где xxxx -- номер версии (пока последняя -- 0329), скачивается и распаковывается. Схема такая: в МАСМ транслируется исходный файл на ассемблере и получается объектный файл (расширение obj), потом вызывается компоновщик, который из объектного делает COM или EXE (в зависимости от того, что у него попросить). Ну а само название таких программ (русское "компоновщик" или английское "linker" от "link" -- связь, связывать) произошло из-за того, что они могут связывать (компоновать) множество объектных модулей в один исполняемый файл, что используется в крупных проектах.
пробовал этот же код компелировал в меню Run выдает Error:illegal instruction instruction: CSEG segment sourse:prog.asm[1]
fasm? так у него же синтакс совсем другой! надо код переписать, я сразу не смогу, пусть помогут " 2.4.1 MZ Чтобы выбрать формат вывода MZ, используйте директиву "format MZ". По умолчанию код для этого формата 16-битный. "segment" определяет новый сегмент, за ним должна следовать метка, чьим значением будет номер оределяемого сегмента. Опционально за этой директивой может следовать "use16" или "use32", чтобы указать битность кода в сегменте. Начало сегмента выровнено по параграфу (16 байт). .... "
Alekcandr Найди в сети книгу Олега Калашникова "Ассемблер это просто, учимся программировать", начни с неё. И не парься - там все разжёванно.
Не заявленного результат ради, но общего развития для Q: Как скомпилировать исходный текст программы в com, exe или dll?
Вот так я и сделал только я файл поместил в папку Bin и все получился файл .obj,не правильно путь указывал, а вот слинковать не получается в .com подскажите пожалуйста кстати твоей ссылкой воспользовался вроде появились сдвиги хочу добить уже до конца получить результат этой программы,чтоб дальше продолжить обучение
нужно обязательно ком? если нет: набери в гугле "MasmBuilder" перейди на сайт этой программы скачай свежую версию скачай масм10 установи его на диск С распакуй МасмБилдер в папку масм32 запусти МасмБилдер настрой МасмБилдер как тебе удобней учись програмировать - начать лучше со 2 урока Iczeliona если компилишь "сторонние" исходники, окно программы должно быть развёрнуто, наверное компилировать самостоятельно научишься потом здесь на сайте нет МасмБилдера, насколько я понял, потому что ребята не желают выкладывать исходники, но это только предположения не слушай чиполинов, которые предлагают перейти на фасм, отстой
Alekcandr, чтобы сделать .com, надо все-таки другой link. 16-битный. С масмом32 устанавливается 32-битный. Тебе вообще что надо? Изучить ассемблер для дос, компилируя простые программы типа "нарисовать рожицу", "подвигать ее по экрану", "напечатать текст", "ввести с клавиатуры пару чисел"? Тогда берешь, создаешь папку для своих проектов... туда переписываешь 16-битный масм и 16-битный линк (они обычно без номеров, в 6-м масме должно быть именно оно), после чего в FARe (это важно, а то ни фига не поймешь) запускаешь масм и линк. Если они ругнутся на что-то (не хватает какого-то файла) - этот файл в эту же папку перетащи. Все. Потом либо через командную строку, либо батник, которых уже насоветовали, с учетом версии компилятора и компоновщика. То есть в этой папке создаешь исходник (хоть в блокноте), переходишь в ФАР и компилируешь. Потом линкуешь. Все. Не надо качать унилинк и 16-битный линкер от микрософт, ты запаришься разбираться, как прикрутить это к masm32, и ничего не запороть. Просто отложи нафиг масм32 в сторону, до поры, пока к виндузовым программам не перейдешь. И используй 6-й или даже более старый. Все, что необходимо для создания com-файла - всего 2 программы, около 100Кб в архиве.
спасибо я попробую конечно,но хотелось бы довести до конца эту тему с линкованием чтоб не прыгать туда сюда если уж начал,а то тут не получилось потом в другом месте не получится и вообще интерес пропадет.
уже почти написал браузер на масме - работает в 3 раза быстрей ИЕ, пока весит 20 килобайт, а компилить не умею ( да и не учился, плохо конечно... но - учиться никогда не поздно, поэтому не тороплюсь с этим делом...