## О книге

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

Из книги вы узнаете:

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

Прочитав книгу, вы научитесь:

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

Изложение материала в книге ведется в форме уроков.

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

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

На пятом и шестом уроках читатель познакомится с тем, как правильно оформить программу на ассемблере, узнает что представляют собой и как строятся ее синтаксические конструкции. В конце шестого урока читатель познакомится с классификацией машинных команд, в соответствии с которой будет вестись их обсуждение на последующих уроках (уроки 7, 8, 9, 10, 11).

Вторая часть книги, начиная с урока 12, посвящена углубленному изучению вопросов программирования с использованием языка ассемблера.
Так, на уроке 12 читатель подробно познакомится со средствами ассемблера для работы со структурами данных, работа с которыми обычно характерна для языков высокого уровня (таких как Pascal, C). Это несколько сближает уровень программирования на ассемблере с уровнем программирования на указанных языках.

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

Урок 14 посвящен очень важному вопросу — организации модульного программирования с использованием средств ассемблера. Подробно описываются все тонкости связи отдельных программ, написанных на ассемблере. После этого показывается, что эти принципы действуют и для связи программ на ассемблере с программами на других языках. Понятно, что описать все возможные случаи просто невозможно, тем более что многое здесь зависит от особенностей (и даже версии) конкретного компилятора языка высокого уровня. Но, тем не менее, в основе такой связи лежат несколько основополагающих принципов, понимание которых позволит читателю быстрее сориентироваться в конкретной ситуации.

Заключительные уроки 15, 16 и 17 предназначены для логического завершения рассмотрения особенностей архитектуры современных моделей микропроцессоров фирмы Intel, отражением которых является ассемблер. Здесь читатель познакомится с режимами работы микропроцессора, поймет, как тот взаимодействует с остальными устройствами компьютера, и вообще получит массу информации, которая, возможно, не будет востребована немедленно, но, тем не менее, позволит читателю осмысленно подходить к вопросам программирования на компьютере, даже и без использования языка ассемблера.

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

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