|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 3, 2004 15:41:59 Что такое masm? ML.exe который по мнению микрософта можно использовать только для написания драйверов. Ага, вот только слова "только" там нет. Но я силино сомневаюсь, что можно продать какую-нибудь программу написанную на масме за бугром. Поверь мне, клиенту начхать на каком ты компиляторе собрал прогу - пусть даже на пиратском делфи. Кстати, линкер от микрософта добавляет "сигнатуры" к PE файлу. (печать Баала) А убрать их такая проблема серьезная. Сишный бесплатный академик эдишн тоже имеет сигнатуры - и что? masm: - кривой синтаксис (PTR и т.п.) это субъективное мнение - плохо документирован нормально он документирован - использование - нелегально - накладывает "печать Баала" на код с этим понятно все, см. выше :)) - не всегда очевиден код, который он сгенерирует. например? - я плохо разобрался с макросами зря |
|
|
Дата: Янв 3, 2004 16:08:21 [ S_T_A_S_: Кстати, линкер от микрософта добавляет "сигнатуры" к PE файлу. (печать Баала)] Я как-то не обращал внимание.., а можно конкретнее какие сигнатуры и в какое место файла он добавляет? |
|
|
Дата: Янв 3, 2004 16:37:27 В заголовок, перед словов Rich |
|
|
Дата: Янв 3, 2004 18:23:38 S_T_A_S_ На board.win32asmcommunity я это все видел. Есть там разные флеймовые топики, особенно где hutch и betov спорили. Теперь вспомнил! Читал я эти споры. На Хатча вообще все кому не лень нападают, а зря. но на книжке было написано: "любезно предаставленный фирмой микрософт для использования ТОЛЬКО в образовательных целях" А кто вас заставляет использовать масм из той дискеты? :-) Хотя, по-моему, этот вопрос волнует меня горазло меньше, чем вас ;-) Отнюдь. |
|
|
Дата: Янв 3, 2004 19:06:37 · Поправил: S_T_A_S_ masquer Ну вот.. Почему-то за masm никто агументов толком не приводит, только наезжают на меня ;) Особенно по поводу нелегально (а мне тоже начхать :) А убрать их такая проблема серьезная Да я и убрал.. а многие, ведь, и не знали об этом - не всегда очевиден код, который он сгенерирует. -например? Вот простой пример: MOV EAX, foo Что будет в результате этой операции, сказать можно лишь зная как определена foo. А можно: label foo или foo equ true Вот пример по-сложнее: invoke Proc ADDR foo. Это может быть аналогично invoke Proc OFFSET foo, а может появиться LEA. (про нее тоже не все знают) По поводу макросов я понимаю, что зря не разобрался с ними как следует. Но вот проводить опыты как Edmond и искать, что забыла в доках написать микрософт.. Может доки у меня не те? Но мне кажется дело в том, что у вас опыта на порядок больше и это компенсирует недостатки masm. По поводу субъективного мнения относительно синтаксиса полностью согласен У масма он больше к HLL, чем к асму, на мой взгляд. Думаете у меня с fasmом сейчас все гладко? Так и хочется иной раз забить :( Asterix Я написал выше , где надо линкер поправить ;) Quantum Ну куда мне со священными воинами тягаться в Holy War ;-) |
|
|
Дата: Янв 3, 2004 22:09:33 S_T_A_S_ На вас никто не наезжает, просто пытаемся вступиться за бедного масма :-) Макросы можно и не использовать, коли не нравится HLL-подобный синтаксис. А без макросов масм очень смахивает на любой другой *асм. Зато под масм полно примеров готового кода, библиотек, статей с исходниками. FASM безусловно тоже рулит! Ведь FASM ещё и оптимизирует код, что немаловажно, IMHO. |
|
|
Дата: Янв 4, 2004 00:17:49 Если кому-то есть что добавить.. Хотелось бы услышать мнение тех, кто работает с FASMом Мне FASM нравиться очень сильно, потому что: 1. Можно писать все: Windows, Dos, Linux, No OS, (My OS :) ) 2. Не нужен линкер. 3. GUI версия. Ну не люблю я писать в конзоли. :) Даже в ДОС-е не любил а пользовал всякие IDE. 4. Скоро сделаем и Fresh. ( http://fresh.flatassembler.net ) - ето специально для визуальное RAD програмирование. 5. И наконец, есть какая то прелесть работать на ассемблер которой может скомпилировать сам собой. |
|
|
Дата: Янв 4, 2004 12:20:12 · Поправил: 1990 S_T_A_S_ Простите за offtopic, но можно вопрос: а как сваою stub программу при компиляции прикрутить или я сильно неправ и всегда это нужно делать ручками через пе-редактор? А где взять образце "хорошей" стуб? (Исправился ;) 1990 |
|
|
Дата: Янв 4, 2004 13:03:36 1990 Очевидно, под "студом" имелся в виду стаб. ;) У фасма он прописывается параметром ON в директиве format. Типа этого: Format PE GUI 4.0 on 'dosstub.exe' У масма он указывается линкеру ключом /STUB |
|
|
Дата: Янв 4, 2004 13:12:05 · Поправил: S_T_A_S_ Quantum Макросы можно и не использовать Да из-за них и пытаюсь fasm освоить.. Например, не нравятся мне stack frame с использованием EBP. И так регистров мало.. На masme я ничего лучше, чем использовать конструкции, вроде invoke TextOut, [ESP+(2+4)*DWORD], 0, EAX, [ESP+(0+1)*DWORD], CON_X (почему в скобочках 2 цифры ? ;) не придумал (поскольку, по простоте душевной с макросами пытался самостоятельно разобраться). На fasme есть макросы, которые сильно облегчают здесь жизнь.. А HLL.. так они тоже сильно жизнь упрощает.. Но имхо, лучше знать какие опкоды получатся в результате компильции. Еще о неочевидности генерируемого кода FASM позволяет быстрее получить более четкое представление о структуре PE файла, правда не всем это интересно.. Хотя про masm я совсем забыл написать одну "фичу", которая мне много времени сохранила.. Беру *.H, прогоняю ее через h2inc.exe, потом правлю в ручную пару строк. И делаю что-то вроде "c:\masm32\bin\ml /c /Flerrors /Sn /Ta DX_errors.inc" Таким образом получаю за пару минут файл с описанием и кодами ошибок, который потом в runtime моя прога при необходимости парсит и мне нужную инфу показывает :-) А в книжках делают постоянно: invoke SomeProc cmp EAX, SomeErrorCode jz Error Конечно, можно написать какой-нибудь скрипт, но я лучше masm буду использовать ;-) johnfound I just simple KGB agent ;-)) Sorry to know you're still using K6/2-500 :( 1990 Посмотрите на этом сайте архив assembler.ru |
|
|
Дата: Янв 4, 2004 20:07:32 Quantum Что-то я стал поглядывать в сторону fasm'а ;-) |
|
|
Дата: Янв 4, 2004 21:21:27 Ну и я скачал fasm. $-) |
|
|
Дата: Янв 4, 2004 21:38:06 Да, извиняюсь за безграмотность. Действительно STUB. ;) У меня вопрос несколько иного свойства: как свою STUB добавить в большой екзе, т.е. заменить первую часть в любом коде, т.к. известно, что в любой программе под windows есть две части - файл екзе в обчыном дос формате и приложение для Windows? Может быть это невозможно сделать при компиляции, т.е. возможно только сделать руками? |
|
|
Дата: Янв 5, 2004 08:05:48 1990 Я же выше написал, где взять инфу. Там все подробно написано. |
|
|
Дата: Янв 5, 2004 08:42:02 S_T_A_S_ ХМ! Там только про создание собственного STUB, не про компиляцию с большими экзе или я что-то не въехал. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.044 |