![]() |
|
|
![]()
|
|
| SABROG |
|
||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: нет Всего: 91 |
Ок, fasm может работать и в Windows и в Linux. Две популярные ОС, по твоей логике получается, что ассемблер - кроссплатформенный. Кстати возможность asm вставок в код на C++ еще раз делает ассемблер кроссплатформенным, т.к. C++ тянет его за собой.
|
||||||
|
|||||||
| AndNot |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
Гы-гы. Позабавило
Мешают только плохому танцору, да и то сами знаете что
И это не прикол |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
ну давай перекомпилируй для PowerPC или для MIPS или для ARM -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| AndNot |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
MAKCim, аппетит приходит во время еды? Сначала речь была о никсах и винде, что я и сделал ;)
Но если уж говорить об аппаратной кроссплатформенности, то и здесь асм иногда рулил. Или ты никогда не слышал о препроцессорах? Я сталкивался только два раза. Первый раз, когда переводил код с Z80 на x86. Препроцессор справился на пять, оставалось только подправить работу с железом, впрочем и с сишными сорсами были те же самые траблы. Второй раз столкнулся, когда понадобилось научить тасм командам MMX и SSE, благо был уже готовый код из какой то книжки. Не сомневаюсь, что можно написать препроцессор для компиляции x86 под тот же PowerPC. Только зачем это надо? Аппаратные различия платформ настолько велики, что от кроссплатформенных приложений нет никакого толка, они обречены на отставание от специализированных. Пример? Недавно был холивар с плюсовиками. Пока они отставали, по скорости, совсем немного(порядка 10-30%, на задачках в сотню-другую тактов), то напирали на то, что мол это ерунда, зато кроссплатформенно. Предложил реальную задачу, где крайне важна скорость (простое альфа-наложение). Их отставание стало в несколько раз! После чего один профи(в самом лучшем понимании этого слова) выдал блестящий сишный код:
Так что не надо передергивать, полностью кроссплатформенных языков не может быть в принципе, у каждого свои ограничения. Впрочем можно назвать жабу, но это и не язык, а так, не пойми что (чисто имхо) |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
AndNot,
я не спорю, что и на ЯВУ можно писать программы, которые не будут кроссплатформенны однако только лишь по семантике, а не по исходному коду (к примеру, различия между big и little-endian в тех случаях, где это важно) здесь ЯВУ просто заменяет ассемблер и выступает в качестве инструмента, с помощью которого можно сделать те же вещи, только быстрее + его использование дает возможность избавится от большОго числа абсолютно не нужных зависимостей от архитектуры CPU и формата его инструкций в остальном код на ЯВУ переносим, лишь бы был компилятор на целевой платформе а вот насчет препроцессоров сильно сомневаюсь ЯВУ определяет общие операции, отображение которых в инструкции возможно для всех (или для большинства точно) архитектур ассемблер же расширяет круг используемых инструкций, некоторые из которых просто не могут быть преобразованы препроцессором в аналогичные инструкции другой архитектуры возьмем, к примеру, те же CLFLUSH, WBINVLD, MWAIT, PAUSE и пр. по поводу примера, может я туплю, но я не вижу в чем проблема поясни потенциальный затык может быть в месте сдвига на 8
еще раз говорю есть задачи, которые по своей природе не могут быть кроссплатформенными однако все ЯВУ кроссплатформенны -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| AndNot |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
Правильно делаешь, иначе они бы давно стали пользоваться спросом
Или возьми те проблемы, что возникли у Сишников, при переносе своих программ под 64-х битную архитектуру. Проблемы то возникли на ровном месте - неверная типизация данных. И это показало все "кроссплатформенность" во всей ее красе В этом и есть ответ, почему HLA не пользуется популярностью - ассемблерщикам не нужна полная кроссплатформенность, у них другие задачи. Если кто-то нанял асмовщика, то понятно, что под определенную архитектуру. Ну может еще условие поставят - под никсы и винды, что вполне реально, тем более либ пруд пруди. Собственно я только и хотел упомянуть, что асм может быть отчасти кроссплатформенным, пускай и с ограничениями по аппаратной части, но в остальном вполне реально. Но кому это нужно? |
||||
|
|||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
из-за этого С не перестал быть кроссплатформенным поэтому и надо использовать кроссплатформенные библиотеки, оптимизированные для каждой ОС причем здесь кроссплатформенность? это руки при правильном подходе проблем с переходом от 32 к 64 нет пример - кроссплатформенная сишная часть кода ядра Linux работает без изменения кода на всех поддерживаемых архитектурах -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| AndNot |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
|
||||
|
|||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
а что за данные?
да запросто есть некоторый код на некотором ЯП код является кроссплатформенным, если он без изменения может быть скомпилирован (естественно, при наличии компилятора) и запущен на более чем одной платформе платформа представляет собой совокупность аппаратных (архитектура CPU) и програмных (ОС) компонентов например PowerPC + Linux, IA-64 + Linux, AMD64 + Windows и т. д Это сообщение отредактировал(а) MAKCim - 28.2.2008, 22:18 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
||||
|
||||
| AndNot |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
Так в чем вопрос то? Я и не утверждал, что можно на всех, но под две-три вполне реально, было бы желание. Да ничего удивительного ;) Ведь это понятие довольно расплывчатое, каждый понимает его по своему. |
||||
|
|||||
| overmet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 15.8.2009 Где: Gomel Репутация: нет Всего: -2 |
Модератор: Сообщение скрыто. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |