fasm проект стремительно превращается в фекалий

Тема в разделе "WASM.BEGINNERS", создана пользователем common_up, 31 авг 2010.

  1. common_up

    common_up New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2010
    Сообщения:
    85
    Доброе. В общем-то пишу небольшой проект на фасме. Сначала было все красиво и аккуратно, но с увеличением функционала проект превращается в непойми что. Кто вообще пишет на фасме ? Отзовись!:)
    Гм, процедура на процедуре, куча pushad\popad, куча всего-всего. Кто пишет именно на фасме и кто может поделиться НЕхацкерскими поделками, а любыми грамотно написанными сорсами, чтобы посмотреть, как Люди реализовывают что-то в больших проектах ?
    Возможно у кого-то припасён некоторый универсальный набор макросов и тд ? Просто не хочется бросать проект(он в принципе реализован процедурно, так что часть можно будет переписать в нормальный вид.

    PS: только не нужно говорить, что масм лучше фасма, что есть си, что нужно почитать ман по фасму и все станет ясно. Так же не нужно давать советов по поводу локальных\глобальных меток, процедур и всего остального банального ширпотреба(я не пытаюсь себя показать крутым перцем, просто сейчас набежит куча флудерастов и начнет тут вещать "труъ"). Просто нужны советы\примеры реализации кода\алгоритмов в не\больших проектах(допустим от 5-7тыс. строк и выше). В принципе хотелось бы видеть обычный код, а так же примеры реализации базонезависимого кода. Вообще идея не скопипастить у кого-то кусок кода, а реально глянуть на суть происходящего. Как правильно и как неверно. Потому, что на фасме всякий сброд пишет небольшие семплы аля 300-400 строк с ужасным стилем кодинга, а какие-то средние проекты еще не видел\не попадались.
     
  2. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    common_up
    по этому участку, похоже, вы все знаете лучше всех и чтото советовать - автоматом записываться в флудерасты только
    както был спор что же таки называть большим проектом? вот к чему прискакали
    http://wasm.ru/forum/viewtopic.php?pid=354317#p354317
    это вы писать строго на асме будете?
    впрочем, и это возможно. первые оси на асме и писали.

    впрочем, насчет превращения проекта с ростом в кучу мусора - это со всем так. не только с асмом. сложные проекты пишутся не так как простые. их сразу разбивают на модули и продумывают внутреннюю структуру и способы межмодульного взаимодействия. иногда, такое продумывание занимает больше, чем само кодонаписание. сэмплы на пару-пятерку тыс строк.. чтоб показать их обычного примера не хватит, надо вскрыть код какогонить проекта, да еще и перед левым зевакой желающим покритиковать.. не готов както, однако. а сам фасм не подходит?
     
  3. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Посмотрите исходники fdbg. Правда, не понимаю, как сам автор в низ разбирается.
     
  4. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    раньше я тоже так думал, но его автор часто такой осел
     
  5. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    По-моему стиль написания фасма достоен подражания.
     
  6. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Он не принимает патчей, предлагая самим развивать параллельный проект.
     
  7. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    Смелое заявление. А не затруднит привести хотя бы с пяток примеров, в чём именно?
    Желательно с пояснением - а как бы Вы поступили на его месте?
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
  9. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Код (Text):
    1. db (-1) shl 1
    2. db $ff shl 1
    3. db $ffff
    4. db $ffffffffffffffff
    5. db $ffffffffffffffff shl 1
    6. dt $0000'00000000'00000000
    7. dt 18446744073709551615.0
    8. dt 18'446'744'073'709'551'615.0
    9. dt 1'1.0
    10. db 1 rol 1
    11. db 1 ror 1
    12. db (-1) sar 1
    13. fp_div
    14. /**/
    15. div
    16. idiv
    17. mul
    18. imul
    19.  
    20. format pe
    21. store dword 'boom' at 0
    22.  
    23. Single Instance
    24. Sel Count
    25. Syntax Highlight
    26. Assosiations Dialog
    27. Environment
    28. Tool Menu
    ред:
    Не пишите "Вы" с большой, я он, а "выкаюсь", так как мне только 21.
    Не знаю как поступил-бы.
    На продук тысяч идей Тома не хватает.
     
  10. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    edemko, (оффтопик, наверное): из твоего списка идей нужна разве что арифметика float-ов. Да и то это больше вопрос красоты кода, чтобы всякие PIover2 equ 3.14159f / 2.0f определять наглядно. Вопрос с улучшениями IDE обсуждался годы назад, после чего появился fresh, который оказался никому не нужен. Нужен тебе? Исходники есть, доделывай.
     
  11. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    наличие линкера решило бы проблему замусоривания кода
    афтар запретил упоминать про м..м, тогда - нужно надеяться, что линкер напишут для фасм-а, если есчо добавить макрос invoke, фасм благополучно трансформируется в м...м, "всё возврасчается на круги своя"...
     
  12. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Заберите директиву match у baldr'a, хваленая вить :)
    Хочу поменять мнение того человечка - а никак.
     
  13. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    invoke есть
     
  14. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    http://blackbeam.narod.ru/asm.htm

    м..м32.v.10 с м..м-билдером - вообще никаких забот

    отладил функцию и убрал её в отдельный модуль

    м..м-билдер нужен только как хороший редактор кода, там есчо есть кнопка "скомпилировать" - нажал и ... (окно м..м -билдера должно быть развернуто)

    WinAsmStudio - ужос, мечта мазохиста...
     
  15. ziral2088

    ziral2088 New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2009
    Сообщения:
    283
    common_up
    исходники оформлять уметь надо и комментировать.
    На фасме есть средние проекты(20к-40к)(правда 2 строки фасма, что 1 строка на Си), больших не видел - не знаю.
    Если проект сразу писался как большой, а не наращивался пяткой - то в нем разобраться можно.

    П.С. Думаю что писал бы ты на масме\насме и т.д., проект превращался бы в фекалий точно так же. Но с опытом, фекалии будут все дальше от тебя. )
     
  16. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    edemko
    Не надо уходить от темы. Речь шла о подходе к программированию, совместимом с большими проектами на фасме.

    Соответственно и мой вопрос надо трактовать как “что в исходниках fasm'a такого вопиюще непонятного/неоптимального/нелогичного?”

    Для идей в духе "как нам допилить fasm, чтобы edemko было удобнее" можно создать топик в .PROJECTS… Или в .HEAP - поругать дядьку Томаша, экий он нехороший; ценит своё время, негодяй.
     
  17. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    common_up
    попробуйте делать coff и собирать внешним линкером
     
  18. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Да, от темы ушел.
    Ну как ему еще сказать?
    Вновь же, хорош масм без своих прибамбонов? - нет.
    Раз я пользователь фасма, то и ною ему, много ною.
    Даже посты за такое ТАМ косят - как тут уже фасма не любить.
    Ценю время, зачем вазоны сапать.
    Плохо, когда так игнорят.
    Мне шас по колена, задолбалсо.
     
  19. osox

    osox New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2009
    Сообщения:
    280
    а исходники KolibriOS нельзя за пример взять ?
    http://kolibrios.org/load.cgi?f/releases/kolibri_0.7.7.0_src.7z
     
  20. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    смотрел исходники фасма
    ничего не понял
    не нашол точку входа