Assembler для начинающих

       

Assembler для начинающих

Почему вас могло бы заинтересовать программирование на языке ассемблера? Cегодня повсюду используются такие языки высокого уровня как Бэйсик, Фортран и Паскаль. Возможно, вы уже знакомы по крайней мере с одним языком высокого уровня. Если вы постоянно пользуютесь персональным компьютером IBM, то вы знаете, что интерпритатор Бэйсика является частью системы. Зачем же возиться еще с одним языком программирования, тем более с таким, который сулит определенные трудности? Очевидно, даже располагая современными могучими языками, вы все еще нуждаетесь в ассемблере из-за его эффективности и точности.

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

Двоичная арифметика
В этой главе разъясняются свойства компьютеров. Она расскажет вам как компьютеры работают и почему они делают это именно так. Некоторые положения могут оказаться знакомыми вам. Если у вас нет опыта программирования на языке ассемблера, то многие операции будут для вас новыми.

Модель программирования 8088
Для того, чтобы понять 8088 и научиться программировать для него, мы начнем с его внутреннего устройства. Внутри процессора имеются специальные ячейки памяти, называемые регистрами.

Команды управления микропроцессором
Оставшиеся команды микропроцессора 8088 управляют его работой. Многие из них устанавливают или сбрасывают некоторые флаги состояния.

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

Макроопределения
В этой части будут описаны некоторые свойства макроассемблера, разработанного в фирме IBM. Хотя мы уже рассмотрели все команды процессора 8088, в ассемблере имеются и другие команды. Мы уже обсудили некоторые из этих псевдокоманд, например, операторы определения данных DB и DW. В этой главе будут введены более мощные средства языка ассемблера. Их объединяет то, что их использование делает написание программ на языке ассемблера более простым и легким.

Работа 8087
Конструкторы микропроцессора Intel 8088 предусмотрели для него уникальную возможность, характерную лишь для семейства микропроцессоров 8086/8088. Конструкции микропроцессора позволяет иметь в системе сопроцессор. Сопроцессор - это устройство, расширяющее возможности центрального процессора. Арифметический сопроцессор 8087 является сопроцессором центрального микропроцессора 8088, добавляющий команды числовой обработки и регистры с плавающей точкой. Эти дополнительные арифметические возможности расширяют набор команд микропроцессора 8088, и значительно увеличивают вычислительную мощность в тех случаях, когда программа выполняет операции с плавающей точкой и повышенной точности.

Системное оборудование
Эта глава описывает устройство персонального компьютера фирмы IBM (IBM PC). Поскольку данная книга посвящена программированию на языке ассемблера для IBM PC, вполне уместно рассмотреть аппаратное обеспечение машины. Эта глава не предназначена для инженеров и техников; она скорее для тех, кто пишет на языке ассемблера программы, которые выполняются на IBM PC. Выше говорилось, что язык ассемблера не всегда самый подходящий язык программирования. Умение программировать непосредственно на машинном уровне позволяет программисту иметь много больше возможностей для управления машиной. Но в случае большого проекта подавляющее количество подробностей, которое требуется языком ассемблера, затрудняет сосредоточие усилий на главной цели. Поэтому лучше всего использовать ассемблер только по мере необходмости.

Замечания по листингу ROM BIOS
В данной книге программы BIOS изучаются по двум причинам: их использование дает пример техники программирования на языке ассемблера, особенно в случае управления системной аппаратурой, и еще существенней то, что программы BIOS играют важную роль в разработке программ на языке ассемблера для IBM PC. В предыдущих главах уже использовались некоторые функции программы BIOS; и, поскольку фирма IBM внесла эти функции в BIOS, дублировать их не стоит. Их надо использовать всюду, где это возможно.

Расширение системы BIOS
В этой главе рассказывается о способе использования программ на языке ассемблера в больших программах. Приведенные ранее примеры были автономными программами на языке ассемблера. Ни один из других языков программирования не позволяет так, как язык ассемблера, управлять техническими средствами. Однако во многих случаях выбор языка ассемблера в качестве языка программирования может оказаться неправильным. Часто лучше всего бывает применять язык высокого уровня в сочетании с подпрограммами на языке ассемблера.

Заключение
Язык ассемблера - мощное средство программирования. Он позволяет программисту осуществлять всестороннее управление аппаратными средствами ЭВМ. Однако такое управление заставляет программиста вникать в детали, далекие от основного содержания программы. Все преимущества языка ассемблера оборачиваются подчас пустой тратой времени на многочисленные детали.