понедельник, 27 апреля 2009 г.

Хорошее начало полдела скончало

Исторически назрела необходимость изучить ассемблер. И встает вопрос: "А с чего же собственно начать?" Ответ, вроде бы простой - бери книжку да учи. А какую книжку?
Набрал я у знакомых кучу книг по ассемблеру и стал их смотреть на предмет того, чтобы просто и доходчиво был изложен материал для тех, кто начинает всё с абсолютного нуля. Хотелось увидеть вразумительные наставления, дабы понять, что нужно для изучения ассемблера. Где это "нужно" взять? Куда и как поставить? Что со всем этим делать, и с какого боку подходить? В общем, куча самых простых вопросов, на которые, как оказалось, в очень не многих книгах есть вразумительные ответы.

Вкратце опишу книженции по ассемблеру, которые мне попались и то, насколько они пригодны для начала изучения этого языка с моей точки зрения.

Зубков С.В. Ассемблер Язык неограниченных возможностей
ISBN 5-89818-019-2, ДМК, 1999
она же Зубков С.В. Assembler для DOS, Windows и UNIX

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

Листание и чтение книжки по диагонали еще больше укрепили это мнение. Язык у автора очень уж академичный, скучный и занудный. Хотя может это только на мой взгляд и вкус.




Пильщиков В.Н Assebler
ISBN 5-86404-051-7, Диалог-МИФИ, 2000
она же
Пильщиков В.Н. Программирование на языке ассемблера IBM PC

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

Вообще не понятно для чего, кем и для кого была написана эта книга. В общем рассматривается как дополнительная справочная литература. На учебник не тянет точно. На справочник с трудом тоже, так как объём явно не тот.




Пустоваров В.И. Ассемблер: программирование и анализ корректности машинных программ
ISBN 5-7315-0095-9, BHV-Киев, 2000

Точно не учебник для начинающих. На справочник тоже не похоже. На руководство по отладчику тоже. Какое-то академическое умствование. Впечатление от этой книжки такое же как и от предыдущей. Книжка - недоразумение.











Рудаков П.И., Финогенов К.Г. Язык ассемблера: уроки программирования
ISBN 5-86404-160-2, Диалог-МИФИ, 2001

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

Том Сван Освоение Turbo Assembler
ISBN: 5-7707-9254-X, Киев: Диалектика; Издание 2-е, 1996

Это тоже настоящий учебник, написанный замечательным языком. Как видно из названия автор описывает TASM и не очень-то жалует MASM. Стиль изложения материала и объяснения примеров, из которых и состоит вся книга, просто блестящий. У автора талант объяснять сложные вещи простым языком.
Решил пользоваться и этой книжкой для изучения языка.


Питер Абель Язык АССЕМБЛЕРА для IBM PC и программирования

ISBN 5-06-001518-1 (СССР), Высшая школа, 1992

Ну это вообще классика жанра и к тому же, уже, раритетная книжка. Издана была в СССР! Перевод, конечно, не блещет, но даже при таком переводе книжка весьма ценная. На мой взгляд, организация и подача материала одна из лучших. Хоть книжка и старая, решил, все же, придерживаться ее, как основной нити, для изучения материала, а две предыдущие использовать как вспомогательный и дополнительный материал. Причем весьма ценный материал. Старичёк Абель рулит. Его книжка выдержала несколько изданий. Пятое издание вновь переведено на русский язык.

Финогенов К.Г., Основы языка Ассемблера
ISBN: 5-256-01451-X, Радио и связь, 2000

Очень хорошая книжка, не смотря на малый объем. Удивительно как автору удалось в таком объеме изложить материал в доступной для начинающего форме, при этом дав достаточно много информации по делу. Книжка практически не содержит "водицы". Есть немного информации по работе с отладчиком Turbo Debugger.
Книга такого же объема как у Пильщикова и Пустоварова. Но сравнивать их даже нельзя. Это как Божий дар и яичница. Однако талант у Финогенова. Книжка избрана в разряд основных книг, используемых для изучения языка.

Ирвин Язык ассемблера для процессоров Intel, 4-издание
ISBN 5-8459-0779-9, Вильямс, 2005

Язык и подача материала показались весьма неплохими. Решил использовать и эту книгу в дополнение к уже выбранным книгам.

И так с выбором литературы определился. Теперь несколько слов о том, почему выбрал Абеля как основную нить для изучения материала. Абель очень удачно сочетает последовательность подачи теоретического и практического материалов. К тому же, для того чтобы начать практиковаться в написании программ по его книге достаточно просто запустить debug.exe, который есть во всех версиях ОС от Microsoft. Естественно, что потом без полноценных ассемблеров типа MASM и TASM будет не обойтись, но все же в древнем debug.exe есть какая-то своя магия и притягательность.