С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Пара вопросов по макросам:
1) пять параметров - максимум?
2) а можно использовать динамическое количество параметров?
Я так понял, такой тип как битовые строки в сабже отсутствует? Между тем порою был бы полезен. Например, я сейчас отлаживаю депакер, скармливая подопытным процедуркам тестовые битовые потоки. Разбирать их ручками по байтикам (а тем более изменять и редактировать) неудобно. То есть вместо:
хочется иметь возможность написать что-то вроде:Код:BYTE %11000100, %11010101, %11011001, %10101111, %10100000
или даже:Код:BITS 1 1 0 00 1 0 01 1 0 10 1 0 11 1 0 1 1 001 1 0 10 1 1 111 01 0
Причём скобки (и вообще любые знаки, нужные только для удобочитаемости монотонных 0 и 1) чтобы просто игнорировались, кроме одного зарезервированного знака (запятая?) для выравнивания на границу байта (или ставить с новой строчки ALIGN1 ; в любом случае просто новые строки с директивой BITS одна за другой не должны выравниваться по байту!)Код:BITS {1(1 0 00)(1 0 01)(1 0 10)(1 0 11)} [1(0)(1 1 001)(1 0 10)(1 1 111 01)] {0}
Прихожу без разрешения, сею смерть и разрушение...
krt17, что-то не особенно вдохновляеттак-то я и в бинарь отдельно могу распарсить, а хочется возиться поменьше
Прихожу без разрешения, сею смерть и разрушение...
Ну, это к тому, как я спросил, нет ли чего поновее и более развивающегося, чем SjASM/Pasmo, а надо мной поржали, что за 30 лет ассемблер не изменился. Вопрос-то не в системе команд процессора (которая действительно не менялась), а в плюшках, которыми можно улучшить и упростить работу.
Колхоз - дело добровольное. Никто не жаждет заниматься внедрением никаких новых плюшек почему-то.
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
http://demin.ws/blog/russian/2012/10/09/rewrite-of-as/
http://john.ccac.rwth-aachen.de:8000/as/
Скрытый текст
Если честно, то сходу не совсем понятно, что это за язык. Это, конечно, С, но изначально исходник был на Паскале, потом автор решил перейти на С, оставив основную часть кода практически без изменений.
Проект называется “Macro-assembler AS”, автор Альфред Арнольд. Я его использую как макро-ассемблер для Intel 8080, который собирается на Маке, Линуксе и Windows. Лучшего я пока ничего не нашел.
Как пишет сам автор, изначально проект был на Турбо-Паскале, но потом автор был вынужден перейти на С, так как Борланд остановил развитие досовских версий, и нормального Паскаля для Линукса тогда еще тоже не было. В итоге автор сконвертировал исходники в С и продолжил развивать проект в нового ключе. Несмотря на всю сомнительность затеи, по мне, сделал он это весьма удачно, и проект не умер, как это часто бывает в случаях полного переписывания большого проекта. Но хотя я склонировал проект для себя, собрал на Маке и радостно использую, не испытываю жгучего желания что-либо контрибьютить, так как для соблюдения стиля надо писать на этом гремучем Паскале-Си. Увы, это неизбежное следствие конверсии, иначе проект превратится в помойку. Если поелозить по исходникам, можно найти много интересных трюков типа “как сделать так, чтобы Си работал как Паскаль”.[свернуть]
Кстати сейчас ситуация иная, и никто не мешает вернуться на новую реализацию Паскаля и IDE под него:
https://ru.wikipedia.org/wiki/Lazarus
Ретрокладовая продажи
Сурово.
Вспоминается байка нашего препода, что ему в виде халтуры попал проект, который писал упёртый паскалист, но его вынудили писать по какой-то причине на С.
В итоге в начале файла было переопределение кучи паскалевских конструкций, и далее весь сишный код использовал эти макросы, т.е. читался практически как чистый паскаль...
С этим есть нюансы, самый главный из которых - под андроид пока не умеет компилить. Под виндой - на выходе достаточно здоровые файлы (сейчас это малокритично), и... более медленные, чем из-под той же седьмой дельфы (видимо, следствие юникодности и кросплатформенности).
Кстати, на лазаре ваяю редактор для HOTM.
Тут понимаешь какая картинка... Проект открытый, и много кто "бы взял", но потом выясняется такая штука: очередной автор пишет нужные себе плюшки, делает еще несколько сторонних хотелок, а потом у него кончается запал и получается очередная тупиковая ветка (мержить исходники, равно как и поддерживать центральный репозиторий тоже никто не хочет). А потом на форуме возникают вопросы "а где взять самую последнюю версию xxx?", а версий таких несколько, разной степени глючности и с разным набором фишек. Мне вот нужны были структуры на SjASM, я взял, да и пофиксил баги в них в авторской версии, пользуюсь самосборным в результате. И да, я тоже с C/C++ не дружу. Perestoronin тоже что-то фиксил под себя. Vitamin поддерживает свою ветку. Но никто даже и не знает, а есть ли версия, которая собирается под Linux и жует структуры. Уж не говоря про поддержку брейкпоинтов в какой-то очередной такой же кастомной ветке unreal.
ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)