Предисловие.

Во всякой книге, предисловие есть первая и вместе с тем пос­ледняя вещь: оно или служит объяснением цели сочинения,

или оправданием и ответом на

критику.

М.Ю.Лермонтов Герой нашего времени.

Латынь из моды вышла ныне.

А.С.Пушкин Евгений Онегин.

История создания этой книги состоит из нескольких этапов. Вначале это были отдельные главы по некоторым вопросамязыка ассемблерадля IBM PC. Я объединил их в одну книгу. Однако мне хотелось отойти от некоторых стереотипов написания подобных книг. Вот эти стереотипы:

1. Использование большого количества фрагментов, но не готовых программ.

2. Упорнаначинающихпро1раммистов.Разбираютсялишьпростыевопросыпро-граммирования.

3. Ограниченный объем Справочного материала.

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

чтобы читатель мог найти в ней всю (или почти всю) необходимую справочную ин­формацию. Именно о такой книгея сам мечтал, когда делал свои первые шаги в про­граммировании. "Но ведьтакая книга будет оченьтолстой",-сказал мне внутренний голос. "Ну и что?" - сказал другой - "Зато в ней будет большое количество материала, множество программ. И в конце концов такой книги еще не было?".

Воттакую книгуя попытался сделать: Насколько она соответствует изложенным выше принципам - Судить Вам. Вы найдете в ней большое количество (около 180) небольших, но рабочих (!) программ. Каждая из этих программ демонстрирует каки-либо особенности. Разобравшись, Вы легко сможете взять на вооружение тот подход, который в ней применялся.

В книге Вы встретите изрядное количество "ссылок вперед" - программисты зна­ют, что Это Такое. Я думаю, что это не вредно. Программирование - не математика, и применять для его изложения аксиоматический метод не стоит. Здесь важно идти от практики. Программисты знают, что при изучении любого языка программирования желательно узнать Два-три операторам тутже написать простую программу - после этого вседело сдвинется с мертвой точки.

Зачем нужен язык ассемблера? - спросят меня. Самой простой и убедительный ответ на поставленный вопрос такой: "Затем, что это язык процессора и, следователь­но, он будет нужен до тех пор, пока будут существовать процессоры". Более простран­ный ответ на данный вопрос содержал бы в себе рассуждение о том, что ассемблер может понадобиться для оптимизации кода программ, написания драйверов, трансля­торов, программирования некоторых внешних устройств и т.д. Для себя я, однако, припас другой ответ: программирование на ассемблере дает ощущение власти над компьютером, а жажда власти — один из сильнейших инстинктов человека. И еще: язык ассемблера - язык универсальный. Действительно, компьютеры на базе микро­процессоров Intel широко распространились по всему свету. И какая бы операционная система ни работала на компьютере - OS/2, Windows, Unix или старенькая MS DOS, язык останется тем же, изменится лишь взаимодействие с операционной системой.

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

Вначале книга была посвящена программированию только в среде MS DOS. По срав­нению с первым вариантом объем книги вырос почти вдвое. Я добавил главы, посвя­щенные программированию в среде Windows. Кроме того, в других главах сделаны до­бавления, касающиесяWindows. Подробнорассматривается в книге и защищенный ре­жим. Возможно, в будущем книга охватит и другие операционные системы.

О моей работе знали практически все программисты моего родного города Шад-ринска. Мне хотелось бы назвать несколько имен. Эти люди поддерживали меня. На их мнение и советы я опирался, а некоторые предоставляли мне свои материалы. Это КудрявцевА., ШохиревМ., КияшкоИ.,СлинкинД., ГалишевП, Иванов Д., ЭминовР. и др. Особенно я хочу поблагодарить мою жену за то, что поддерживала и верила в меня в течение всей работы над книгой.