
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.30] |
![]() |
|
Страницы: (5) « Первая ... 2 3 [4] 5 все ( Перейти к последнему сообщению ) |
Сообщ.
#46
,
|
|
|
cppasm,
Ну ты совсем обижаешь начальник: Compiling .ASM-source directly into a .TGA image with fasm!! |
Сообщ.
#47
,
|
|
|
Дык это я про Watcom Linker писал, что FASM и NASM умеют - это мне известно.
![]() |
Сообщ.
#48
,
|
|
|
Uri, да макросы, это конечно хорошо, но вы же не станете так делать для каждой инструкции. допустим, мне надо написать прогу под p2, а я по своей глупости использую инструкции sse, не делать же макросы ко всему набору инструкций?
|
Сообщ.
#49
,
|
|
|
Цитата а я по своей глупости использую инструкции sse? Следует ли из етого что умному ФАСМ лучше? ![]() ![]() |
Сообщ.
#50
,
|
|
|
Если ты постоянно будешь контролировать каждую команду в программе (а каждую ты не сможешь - пример те же переходы, которые генерирует сам компилятор и тебя не спрашивает near/short) то возможно да
![]() А ты все команды помнишь начиная с какого семейства процессоров появились, или ты каждую команду в справочнике смотреть будешь? По ходу разработка затянется... ![]() |
Сообщ.
#51
,
|
|
|
Цитата cppasm @ ...По ходу разработка затянется... Ну, ета тема не очень подходит для обсуждения как надо програмировать на FASM, но... 1. 8086, 80286, 80386 - можно о них можно забыть навсегда. RIP! 2. 486, Pentium - ну скажем водораздел. Кому как хочеться.Кстати integer+FPU они те же самые как у P4. 3. P+MMX и далее - процесоры, которых стоит поддерживать. integer+floating point+MMX инструции на 99% одинаковые. Там где не одинаковые, просто не стоит изпользовать, потому что они разные например у AMD и Intel и кроме етого ети инструкции обычно являются весьма медленные. 4. SSE, 3DNow! и т.д. - ето очень дурной тон написать програму которая ложиться только на один комплект из етих инструкциях. Поетому все равно они тебе будут нужны все, даже и если одна процедура изпользует SSE, а другая 3DNow!, а вот решать какую процедуру надо звать, решаеться во время выполнения... |
Сообщ.
#52
,
|
|
|
В институте заставляют... Только нифига интересного в нем не нахожу
![]() Абсолютно тупой - в этом его огромный плюс... Что напишешь то и получишь.. |
![]() |
Сообщ.
#53
,
|
|
Ты это о чём, собственно?
|
Сообщ.
#54
,
|
|
|
А где Z-80
Это самый классный ассемблер Самые толковые команды |
Сообщ.
#55
,
|
|
|
FASM!!!!!!
|
Сообщ.
#56
,
|
|
|
Это большой недостаток. Я частенько пишу на тасме, а линкую сторонним линкером, например ваткомовским ![]() Цитата Uri @ Кстати, а ты рабочий 286й щас где-нибудь найти можешь? И что б его еще где заюзать надо было? У нас в одном цеху тройки стоят, и менять их просто не на что, любой современный загнется через пару недель от пыли, мазута, жары и плохого настроения работяг ![]() ![]() Это не дос умер, это мозги у некоторых умерли ![]() ![]() Цитата Uri @ Жалкие потуги добавить в тасм высокоуровневую функциональность (+ поддержка программирования под Windows) с треском провалились Слова, слова... Можно поконкретнее? ИМХО в тасме высокоуровневых средств больше чем в любом другом, хотя он и дедушка уже ![]() Цитата Uri @ (прошу оценить объемы работ по написанию реализации макросредствами MMX, SEE и т.д. команд). Эээээ... о каком объеме речь? Да? Не надо панику сеять, они забили на него как на отдельный продукт, но он идет в комлекте с тем же Си. Ты просто не умеешь их готовить © ![]() ![]() Цитата Uri @ Вот попробуйте сделать на тасме и на фасме следующие примеры и сравните: простой COM, простой EXE, мультисегментный EXE, простой резидент, и, главное, DPMI (то-есть смешанный 16- и 32-битный код)? Что то я не пойму, в чем здесь проблема? ![]() ![]() ideal model ххххх dataseg .... udataseg .... codeseg start: startupcode .... .... end start Получится COM или ЕХЕ, в зависимости от модели ![]() ![]() ![]() А если по существу, то вот некоторые достоинства тасма: 1. развитая поддержка всевозможных моделей памяти и ЯВУ. 2. режим IDEAL ![]() 3. упрощенные директивы, такие как CODESEG, DATASEG, UDATASEG, STARTUPCODE и прочее. 4. ни в одном асме нет такой удобной поддержки высокоуровневых средств. например вызов подпрограмм с параметрами, или вызов метода объекта, локальные переменные. 5. оптимизация переходов. не нужно гадать какой переход ставить, тасм сам все подставит ![]() 6. кто сказал что под виндовс он не удобен? берешь инклюды масма и подключаешь ![]() 7. ни в одном асме нет такого удобного способа объявлять подпрограммы и типы данных - TYPEDEF и PROCDESC. 8. после бессонной ночи трудно еще что то припомнить, потому пока останавлюсь ![]() Uri, а в фасме есть что то типа GLOBAL? Незаменимая штука в многомодульных проектах. А масмовский баг (mov ax,[0]) как в фасме компилится? |
Сообщ.
#57
,
|
|
|
назло всем юным фанбоям фасма, победил TASM ;)
|
Сообщ.
#58
,
|
|
|
Здесь лежит конвертер(с сорсами) масмовских инклюдов в тасмовские под режим IDEAL, и естественно сам windows.inc с примером ![]() http://www.mujweb.cz/www/komsbomb/ А также множество других интересных примеров (все под тот же IDEAL) ![]() Так что Тасм жив! |
Сообщ.
#59
,
|
|
|
Голосовал за TASM и не жалею, но сейчас перешёл на WASM - Watcom Assembler.
Синтаксис tasm (не IDEAL)/masm, open source, поддержка MMX, Ext MMX, SSE, SSE2, SSE3, 3DNow! и т.д. Достаточно активно развивается. Есть поддержка команд типа pushd, pushw и т.д. что удобно если надо в 16-битном режиме скажем dword в стек занести. Появилось только в tasm32, а он под ДОС сам по себе не работает. Хотя есть HX DOS Extender - позволяет консольные Win32 проги под ДОС запускать, с ним работает. Из недостатков - нет поддержки локальных меток за исключением анонимных ( @@: ) Правда я разработчикам указал на этот недостаток - обещались пофиксить в следующих релизах, пока юзаю свой препроцессор ![]() Плюс у wlink появилась возможность создавать чистые бинарники, да и поддерживает он OMF OBJ, COFF OBJ, ELF OBJ и хз ещё что. Про tlink такого сказать нельзя. |
Сообщ.
#60
,
|
|
|
Если уж про аналоги говорить, то есть такой Lazy Assembler. Совместим с тасм IDEAL. Поддержка инструкции вплоть до SSE4 и много еще чего интересного. И до сих пор развивается.
Добавлено Но все равно предпочитаю проверенный временем тасм. А линкеры при необходимости можно и подобрать. |