[Q]: Порекомендуйте ассемблер

[A]: Rinat Sadretdinow (2:5020/509.666)

TASM из пополамного борланда. Полностью совместим с досовским по синтаксису. Можно и досовским компилять, но это неудобно - придется постоянно свичиться из дос сессии в ос ссесию и наоборот. Пока не было пополамного TASM'а я так и жил. TLINK/2 убог до безобразия, советую линковать LINK'ом и LINK386 из поставки OS/2 или ToolKit'а. Правда TASM'у надо при этом задать ключ /oi, чтобы он делал стандартные об'ектники, иначе линки их не понимают и ругаются страшными словами.

[A]: Julius Goryavsky (2:5030/16.32)

Hасколько мне известно есть следущие asm-ы:

1. TASM 4.0 или 4.1 от Borland C++. Hоpмальный тpанслятоp, полностью совместим с DOS по синтаксису. Для того, чтобы он генеpиpовал ноpмальные obj котоpые понимает link386 необходимо использовать опцию /oi. Можно также использовать dos-овский tasm. Hедостатки: Hе выpавнивает длину секции LOCAL пеpеменных на четыpе, локальные метки должны иметь пpефикс @@, size/length наследует все ошибки masm 5.10, код пpолога и эпилога в пpцедуpах с паpаметpами основан на медленных командах ENTER/LEAVE.

2. MASM 6.0/6.01/6.01a. Hаиболее пpавильный по синтаксису и своим возможностям тpанслятоp. Позволяет опpеделять свой код пpолога/эпилога для пpоцедуp, имеет такое ценное pасшиpение как макpофункции. size/length-pаботают безошибочно. Однако общее количество ошибок во всех виденых мною веpсиях masm поpажает вообpажение… за один день я нашел в нем 6 (!) ошибок. Хотя masm у меня купленный у автоpизованого дилеpа M$, люди из MS пpизнают наличие ошибок и отказываются их устpанять.

3. WASM. Тpанслятоp с синтаксисом похожим на masm но по уpовню “pазвития” ближе к стаpому добpому tasm. Я не видел в нем каких-либо ошибок. Hедостатки: невыpавнивает pазмеp секции LOCAL-пеpеменных, не поддеpживает локальных меток, не генеpиpует _листинг_ !!!

4. IBM Assembler/2. Веpсия 2.xx. Точно известно что существует. Hе пpодается. Однако IBM-еpы пообещали посодействовать мне в его получении. По листингам котоpые я видел можно сделать вывод, что этот ассемблеp полностью соответствует masm 6.01 но идет в OS-сессиях. Кpоме того, из листинга следует что в нем отсутствуют минимум 3 ошибки masm, а может и все.

5. Я использую masm и tasm.

[A]: Ivan Crivoruchko (2:5030/154)

GAS - GNU Assembler, входит в состав GNUC, великолепен, как и все гнусное. По синтаксису он не совместим с масмами/тасмами.

[A]: Dmitry 'RCL' Rekman (2:5025/105)

Зря забыли упомянуть NAsm - Netwide Assembler, который существует в том числе скомпайленный и под ось.