Поделиться

пятница, 13 августа 2010 г.

Жизненный путь: Ассемблер

Имеется в виду ассемблер x86. Несколько программок было написано под i286 и i386 для защищенного режима работы процессоров, но в основном - реальный режим, пробы пера и стандартные лабораторки.

В 90-х на фоне DOS, историй о вирусах, быстрейших программ на "асме" и прочего, понимать (хотя бы) Ассемблер было круто! Я пишу "Ассемблер" с большой буквы - это неправильно, вообще-то, поскольку "ассемблер" - это тип языка низкого уровня, а не имя собственное. В моем случае правильно было бы писать "Ассемблер x86", но я уж, извините, по привычке. Так вот, возвращаясь: конечно, после кодирования на нескольких языках высокого уровня кодирование на Ассемблере было мукой, но мукой почетной. Для сегодняшних студентов это, по-моему, просто мука. Как я и говорил ранее, и сейчас от этой муки есть польза: программирование на Ассемблере позволяет разобраться с адресацией, тем, почему какая-то функция или процедура выполняется дольше, чем другая, тем, как в памяти организуются классы и выполняются виртуальные функции (если у вас хватит безумия заниматься объектно-ориентированным программированием на этом языке). И, вообще, Ассемблер открывает перед программистом новый слой реальности, подвигая его ближе к сокровенному - тому, что на самом деле происходит с компьютером, когда он что-то делает (следующий шаг по направлению к истине - трансляция ассемблерных кодов в машинные, еще один - загрузка и исполнение операций в процессоре той или иной архитектуры, а следующий и последний - понимание того, как отдельные транзисторы собираются для создания тех или иных схем, и того, какова связь между электрическим током из розетки и текстом на экране). За исключением специфических случаев, каждый сам для себя решает, нужно ему все это понимание или нет, но, если вы решили пойти до самого конца и "просветиться по полной", могу порекомендовать пару книг:Это все не про Ассемблер - это про транзисторы. Что касается Ассемблера, то даже и не знаю, что предложить - сейчас книг стало намного больше, но хорошие выбирать стало намного сложнее. Я изучал язык в основном по двум (всего лишь) книгам:
  • Сван Т. "Освоение Turbo Assembler". - К.: Диалектика, 1996. ISBN: 5-7707-9254-X.
  • Финогенов К.Г. "Самоучитель по системным функциям MS-DOS". 2-изд. - М.: Радио и связь, 1995. ISBN: 5-900797-02-3.
Книга Финогенова в каком-то варианте в интернет-магазинах находится, Свана найти мне не удалось - он вообще был отличным автором, который писал и о Delphi, и об Ассемблере, и о форматах файлов очень доступно и даже весело, но... пропал с российского книжного горизонта. Итак, за то время, пока я ковырялся в Ассемблере (с 1996 по 1998 годы, на втором и третьем курсах), я наковырял, в общей сложности, 12388 строк, из которых приходится:
  • 3596 строк - на лабораторки и собственные эксперименты с графикой и защищенным режимом процессора;
  • 5028 строк - на библиотеки, которые потом активно использовались в вышеозначенных лабораторках и экспериментах;
  • 1918 строк - на объектно-ориентированные эксперименты;
  • 1846 - на программы для Windows (задумка даже маленькой программы для Windows превращается на Ассмеблере... в общем, программ было всего 2).

Комментариев нет:

Отправить комментарий