Вопрос может быть тупой, а для кого-то и банальный но всё-таки: Захотелось мне написать свой ассемблер. Зачем? Ну просто так, нравятся они мне. Определился вроде бы и с синтаксисом и вообще с целями. А вот с языком написания нет(один день кажится что лучше на С, потом на asm'е хочется). Вообщем я выделил следующие плюсы и минусы: C: плюсы: портабельность, наличие стандартных библиотек, меньший объем исходника(читать легче), наличие IDE а-ля Visual Studio. минусы: приходится придерживаться каких-либо правил, стиля и т.п. (я люблю правила, но свои...) никакой оптимизации. asm: плюсы: люблю asm, считаю что asm написаный на asm'е - хорошее правило. возможность оптимизации. минусы: большой гемор при разработке реального проекта(лекго суть потерять).
marlboro Если ты хочешь именно компиллер - бери язык ГОРАЗДО выше уровнем чем C. Иначе гемороя необерешся.
Ты пишешь для кого? Для себя, мамы, папы? Будет ли исхдный код доступен и если ждешь помощи в сопровождении, то стоит подумать а начем кодят кто возможно поможет, блин как я однако заговорил, после устройства на новую работу !)))
EvilsInterrupt Пишу я для себя об открытости кода ещё рано говорить, но я всегда стараюсь писать так, чтобы код был понятен. _DEN_ Если ты про ООП, то я в принципе не понимаю зачем. Тем более что написание ассемблера не требует сильно навороченых алгоритмов, да и писать свой код куда интереснее использования чужих объектов.
начни на C, куски для разбора опкодов пиши асмовскими вставками (так и проще будет). Как сам алгоритм будет готов, при желании перепишешь на асм.
marlboro Поймешь, когда решишь написать виртуальную машину для макросов, по нехилости такую как у FASM-а
_DEN_ пишет Если ты хочешь именно компиллер - бери язык ГОРАЗДО выше уровнем чем C. Иначе гемороя необерешся. ****** вспоминается prolog....
Опять начали выбирать из плоскогубцев с красными ручками и плоскогубцев с зелеными. Только пролог не трогайте - это круглогубцы, да еще и без ручек.
В принципе реализацию компиляторов сильно упрощают всякие компиляторы компиляторов (во я загнул...) типа LEX, YACC etc. Правда для ассемблера это малость излишество - не такой у него сложный синтаксис. Но ИМХО - лишним не будет.
Вообще-то я уже начал писать и выбрал для этого C(больше времени остается на реальную работу). Но как показала практика проблема была не в выборе языка а в выборе правильных принципов и идей. Дело в том что идей много и некоторые из них взаимоисключающие. Как вы думаете насколько сильно стоит придерживаться стандартного синтаксиса. И ешё вопрос: насколько важна поддержка развитой системы макросов для рабочего инструмента.
Мне кажется, что если кто-то долго думает на чем писать, то лучше вообще ни на чем не писать (все равно ничего не выйдет). Если Поставить задачу написать что-то конкретное, то сразу должен быть понятен язык на котором стоит это делать, а если это сразу не понятно, до значит суть задачи до конца не ясна, и надо вникнуть в нее поподробне. Могу порекомендовать только поскорее начать писать программу (пофиг на чем, хоть на VB). В процессе написания я думаю удасться выяснить, на чем же ее надо было все-тики писать
А ты пиши в зависимости от настроения Все равно на уровне объектных модулей всё совместимо и ничего по второму разу переписывать не придется.
Правильно Крис предупреждает в своих статьях - просто рабочий asm код зачастую работает МЕДЛЕННЕЕ оптимизированного си-шного, где учитывается распаривание, простой конвейера, латентность команд и так далее. Я писал ламер-проекты на асме-(inline в Дельфи)-под сотни тыщ строк многолетние экзерсисы - и все это работает не быстрее, а как правило в 2-3 раза медленнее чем Си-шные в исходных кодах, написанные другими. А мозгозатраты 100:1 в пользу асма. =((( Причем у меня переносимость на другие платформы и 64-бит равна нулю, а у Cи - 100%.
Взял я Си Пишу картину Кистью на - ляпота Чет не вижу ни хрена Кистью на - во красиво Ля, краски кончились - беда И картина - вижу конь, а далее скотина А хотелося бычка Мудата и понятно ни фига Малюю асмом я картину Красок много - согласую воедино Травку, ручеек добавлю, солнце светит Красота Си вне сил видеть образ в голове творца Сонный я Всем пока