LINUX.ORG.RU
ФорумTalks

дока по асму


0

0

Добрый день! Посоветуйте,пожалуйста, хорошую доку по асму для x86 - можно как под оффтоп(желательно), так и под линь

anonymous

С. Зубков - Assembler для DOS, Windows и UNIX. Это для основ. А для углублённого изучения ищи в гугле, и на wasm.ru должно быть.

unnamed
()

linuxassembly.org

Господа сайтопы! Вместо того, чтобы "мочить" мессаги налево и направо, и банить Луговского лучше бы поиск прикрутили к сайту...

voiD
()
Ответ на: комментарий от voiD

Спасибо - wasm.ru - замечательный сайт!

anonymous
()

Ежели именно под линукс, то есть такая книга Programming from ground up.

Я вот тоже игрался с х86 асмом, но потом бросил т.к. 32 скоро умрёт, да и вобще асм под камни от персоналок - имхо банально и резону мало. Хочется мне какого-нить иного железа, да где его взять и как понять какое уже умерло, а какое перспективно.

anonymous
()
Ответ на: комментарий от anonymous

В каком это смычле умрет? Ну появились 64 разрядные, ну и что? Во-первый, пока они будут у всех пройдет очень много времени, а во-вторых - там же тежи ригистры остались что и в 32 разрядных, только теперь шина данных не 32, а 64 бита, и регистры стали по 64 бита

anonymous
()
Ответ на: комментарий от anonymous

О! Флэйм на тему жив ли asm можно считать открытым! А вообще по-ходу про 32 разрядные процы... в рутерах/свичах/фиреволах/автосигнализациях/гаджетах они тоже умрут ? От осознания собственной неполноценности ? Смишнооооо

voiD
()
Ответ на: комментарий от voiD

> Флэйм на тему жив ли asm можно считать открытым

Асм жив только благодаря идиотским фанатикам, которые считают, что программить на "живом языке" -- это вершина программистского исскуства. Фтопку таких.

> А вообще по-ходу про 32 разрядные процы... в рутерах/свичах/фиреволах/автосигнализациях/гаджетах они тоже умрут ?

Какое это имеет отношение к жизни асма? Это как раз говорит о том, что надо переходить на языки высокого уровня, чтоб сохранялась переносимость.

Асм фтопку, ассемблерщиков в биореактор!

nsav
()
Ответ на: комментарий от nsav

Не согласен с тобой. Есть разные языки для разных целей. Невозможно написать все программы, работающие от нажатия кнопки Power до запуска Window Manager-а. BIOS, загрузчики, участки ядер ОС, программы, требующие быстродействия - всё пишется на асме. Лично я вижу деградацию в части программирования: многие проги даже не оптимизированы на высоком уровне. Создавать большие проекты на асме - это не вершина искусства, обычно это удовлетворение интереса. А вот использование асма в циклических участках программ вместо высокоуровневых языков - это факт, показывающий если не мастерство программера, то хотя бы его здравомыслие. А вот посылать в биореактор может человек, который не смыслит в этом деле.

unnamed
()
Ответ на: комментарий от unnamed

> Есть разные языки для разных целей.

Согласен.

> Невозможно написать все программы, работающие от нажатия кнопки Power до запуска Window Manager-а. BIOS, загрузчики, участки ядер ОС, программы,

Тоже согласен. Но использование асма надо сводить к минимуму.

> требующие быстродействия - всё пишется на асме.

Вот это уже бред. Ради выигрыша в долю секунды горбатится неделю над участком кода, который на нормальном языке можно написать за 10 минут? Нафиг. Не забывай, что компиляторы нынче умные. И переносимоть -- это не шутка, а реальная необходимость. Писать один и тот же код на асмах для всего зоопарка процов некошерно.

> Лично я вижу деградацию в части программирования: многие проги даже не оптимизированы на высоком уровне.

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

> Создавать большие проекты на асме - это не вершина искусства, обычно это удовлетворение интереса.

Это тупое распыление сил дебильных фанатиков.

> А вот использование асма в циклических участках программ вместо высокоуровневых языков - это факт, показывающий если не мастерство программера, то хотя бы его здравомыслие.

Опять же, такая оптимизация не даст существенного прироста производительности. Гораздо эффективней разработать алгоритм, использующий меньшее количество итераций.

> А вот посылать в биореактор может человек, который не смыслит в этом деле.

Да ладно тебе. Это то ж по-доброму :) Обидно, что умные люди тратят свои силы впустую.

nsav
()
Ответ на: комментарий от anonymous

Ну что так сразу в кулькакерстве подозревать чела? Может он компиляторы писать собрался.

anonymous
()
Ответ на: комментарий от anonymous

ARM - перспектива на десятилетия.

anonymous
()
Ответ на: комментарий от unnamed

Да нет таких человеков, которые бы писали оптимальнее, чем хороший компилятор. Я сто раз объяснял, почему - оптимизация - NP-полная задача.

anonymous
()
Ответ на: комментарий от nsav

> Асм жив только благодаря идиотским фанатикам, которые считают, что программить на "живом языке" -- это вершина программистского исскуства. Фтопку таких.

Але дядя... Ты со своими детьми в развивающие игры играешь или сразу с первых шагов "гриндерсы", колючий свитер, теория ядерной физики.

Ассемблер знать надо!

> Какое это имеет отношение к жизни асма? Это как раз говорит о том, что надо переходить на языки высокого уровня, чтоб сохранялась переносимость.

Ага и процы тогда нужны штоп как внутрях полупроводники как плесень прорастали под то что ты наваяешь

> Асм фтопку, ассемблерщиков в биореактор!

А это шедевор! А как ты думаешь (если вообще думаешь) те кто пишут компиляторы и сдк под те или иные процы асма не знают ?

voiD
()
Ответ на: комментарий от nsav

> Обидно, что умные люди тратят свои силы впустую.

А как ты предполагаешь изучение ассемблера не написав на нем ни строчки ? Типа прочитал и забыл ? Никто не зовет писать на ассемблере, но знать его надо.

voiD
()
Ответ на: комментарий от voiD

> Ассемблер знать надо!

Кому и зачем? Надо знать 1% программеров, которые занимаются программированием прошивок биосов, ядер ОС и прочей фигней (как мне их жалко. Они герои, им памятники ставить надо). Всем остальнвым знать нафиг не надо.

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

>> Асм фтопку, ассемблерщиков в биореактор!

> А это шедевор! А как ты думаешь (если вообще думаешь) те кто пишут компиляторы и сдк под те или иные процы асма не знают ?

Под ассемблерщиками подразумевались идиоты, которые не пытаются миниминизировать использование асма, мотивируя это, например, "повышением производительность на одну триллионную секунды". Таким место в биореакторе, адназначна!

nsav
()
Ответ на: комментарий от voiD

Про плесень - не ты первый придумал. FPGA сейчас быстро развиваются. Скоро так и будет - компилятор будет выдавать на пару код и железо под этот код.

anonymous
()
Ответ на: комментарий от nsav

> Скорей даже прогресс, ибо сейчас пишутся программы...

-----
for(i=0;i<srlen(somestring);i++){
blah blah blah
}
-----

И таки выкидыши встречаются далеко не в прикладном софте...

voiD
()
Ответ на: комментарий от nsav

> Почитай посты гн. unamed'а.

"Создавать большие проекты на асме - это не вершина искусства, обычно это удовлетворение интереса." (c) unnamed

Ключевое слово интерес.

voiD
()
Ответ на: комментарий от voiD

Прости, не понял, при чем здесь АСМ? ИМХО, асм предоставляет гораздо больше возможностей для написания кретинического кода, чем другие языки.

nsav
()
Ответ на: комментарий от voiD

> Ключевое слово интерес.

Написать сложную систему, использующую новейшие достижения мировых наук, интереса не предоставляет? Ресурсы человека ограничены, не стоит их тратить на кодировку. Не стоит.

nsav
()
Ответ на: комментарий от anonymous

> Про плесень - не ты первый придумал.

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

voiD
()
Ответ на: комментарий от nsav

> Прости, не понял, при чем здесь АСМ? ИМХО, асм предоставляет гораздо больше возможностей для написания кретинического кода, чем другие языки.

По крайней мере там это видно ярче.

voiD
()
Ответ на: комментарий от voiD

Ну так дурак твой аффтар. К примеру, никто не мешает вешать FPGA с программатором на графические ускорители. Каждая игрушка перезатачивает ускоритель под себя - и радуется. Думаю, такое решение вполне себе может быть очень массовым.

anonymous
()
Ответ на: комментарий от nsav

> Написать сложную систему, использующую новейшие достижения мировых наук, интереса не предоставляет? Ресурсы человека ограничены, не стоит их тратить на кодировку. Не стоит.

Как сказать... у меня например от сложных проектов башка кругом идет, но махонькие мелочи могу "причесать" от и до. Называй это как хочешь: надалекостью/примитивизмом, я так думаю это склад характера.

voiD
()
Ответ на: комментарий от voiD

Слушай, воид. С тобой спорить, как горохом об стенку. Ты так и не ответил мне на мои ворпосы.

1. Каким образом знание асма улучшает навыки программирования?

2. Каким образом использование асма повышаег эффективность програм?

Хочешь -- пиши на асме с нуля, хоть обпишись. Мне пофиг. Я только искренне надеюсь, что таких "писателей" со временем станет поменьше.

nsav
()
Ответ на: комментарий от voiD

Если так хочется круть продемонстрировать для интересу - то пусть на Мелбогии пишут. Или хотя бы на brainfuck-е.

anonymous
()
Ответ на: комментарий от nsav

1. Когда пишешь компиляторы - то асм знать надо. А писать компиляторы обязаны все, ибо DSL-ы рулят.

2. Никаким.

anonymous
()
Ответ на: комментарий от voiD

> Как сказать... у меня например от сложных проектов башка кругом идет, но махонькие мелочи могу "причесать" от и до. Называй это как хочешь: надалекостью/примитивизмом, я так думаю это склад характера.

Надо уметь видеть систему в целом. А это можно сделать только абстрагировавшись от мелочей. Используя асм такое сделать тяжело.

nsav
()
Ответ на: комментарий от anonymous

> Думаю, такое решение вполне себе может быть очень массовым.

Может быть... В принципе очень даже может быть... Но тут по-любому очень тонкая системная работа, без знания ассемблера к которой людей подпускать близко не стоит.

voiD
()
Ответ на: комментарий от anonymous

> 1. Когда пишешь компиляторы - то асм знать надо. А писать компиляторы обязаны все, ибо DSL-ы рулят.

Почитай в онлиспе, как можно создать компилятор не зная асма :)

nsav
()
Ответ на: комментарий от voiD

> Но тут по-любому очень тонкая системная работа, без знания ассемблера к которой людей подпускать близко не стоит.

Ну во первых, это уже работа не программера. А во вторых, под такие процы наверняка надо будет создавать свой ассемблер, так что знание других может быть полезно только для общего развития, разве что.

nsav
()
Ответ на: комментарий от voiD

Нет, тут ручное кодирование на ассемблере вообще неприменимо - ведь ассемблер для такого железа будет создаваться компилятором - вместе с самим железом. Тут очень суровая математика и огромные вычислительные мощности нужны, а не рукоблудие.

anonymous
()
Ответ на: комментарий от anonymous

> Я это и так знаю. Но не всегда ты можешь тащить вместе с языком весь рантайм Лиспа.

Почему бы и нет? Если разработка ведется на лиспе, то рантайм в любом случае нужен. А если не на лиспе, то что поделаешь. Надо выбирать язык, который лучше всего подходит для своей задачи.

nsav
()
Ответ на: комментарий от anonymous

> Если так хочется круть продемонстрировать для интересу - то пусть на Мелбогии пишут. Или хотя бы на brainfuck-е.

Да никто никому ничего не хочет демонстрировать просто это интересно. И ощущения от того когда что-то получается - как подруге вдул... порою даже и сильнее...

voiD
()
Ответ на: комментарий от voiD

Воид, попытайся немного расширить свой кругозор. Не ограничивай себя лишь системным программированием. Ты ж не дурак вроде бы. Удачное решение большой задачи принесет гораздо больше пользы и удовольствия чем локальное улучшение производительности на долю секунды.

nsav
()
Ответ на: комментарий от nsav

Буду стараться. Может и действительно задержался я на этом этапе...

voiD
()
Ответ на: комментарий от nsav

> Тоже согласен. Но использование асма надо сводить к минимуму.

Надо. Но многие понимают это по-другому: начинают прикручивать C++ к ядру или злоупотребляют высокоуровневыми функциями; пишут заведомо ненужные операции. Это уже крайность.

> Опять же, такая оптимизация не даст существенного прироста производительности. Гораздо эффективней разработать алгоритм, использующий меньшее количество итераций.

Согласен, и это ненужная крайность.

А про фанатизм отдельный разговор. У одних людей есть своё увлечение, в котором они хорошо разбираются и занимаются в свободное время. В данном случае они создают программы на ассемблере и получают неплохие результаты. Эти люди не станут никому навязывать своё мнение. Я такие качества уважаю и фанатизмом не считаю, поэтому и назвал это удовлетворением интересов. А другие толком ничего не делают, а начинают кидать неаргументированные реплики, с яростью доказывать свою правоту и обходить стороной недостатки. Это уже фанатизм. Таких людей я не уважаю.

unnamed
()
Ответ на: комментарий от nsav

Кто же кроме ассемблировщиков будет копаться в прошивках для телефонов и пр.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.