Микропроцессорные устройства. Общие сведения. Классификация микропроцессоров. Система команд МП, страница 7


Контрольные вопросы

1. Перечислите способы адресации, используемые при программировании МП.

2. В каких случаях рекомендуется использовать прямую адресацию?

3. Укажите особенности косвенной адресации.

4. Как организовывается стек и в чем его преимущества?

2.7. Виды прерываний при выполнении программ в МП

В процессе выполнения программы МП используются следующие виды прерываний основной программы.

Аппаратные – производятся специальными сигналами внешних устройств, требующими обслуживания.

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

Специальные – производятся в ходе выполнения основной программы с помощью специальных сигналов, формируемых внутренними средствами МП в случаях, если произошел сбой работы из-за сбоя питания, неисправности оборудования, из-за попытки МП совершить недопустимую операцию и проч.

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

2.8. Языки программирования

Языком программирования МП называется набор команд и правил их применения.

Языком низкого уровня является система команд МП. Поскольку каждый тип МП имеет индивидуальную систему команд, то языки низкого уровня ориентированы на конкретные МП и поэтому называются также машинно-ориентированными языками.

Язык низкого уровня, использующий команды, представленные в машинных (двоичных) кодах, называется машинным языком, а программа, записанная на машинном языке – объектной программой. Хотя такой вид программы является единственно понятным для самого МП, но для программиста он неудобен, так как связан с необходимостью записи громоздких, трудно запоминаемых двоичных кодовых комбинаций, сложностью поиска ошибок из-за того, что программа оказывается трудно читаемой и плохо обозримой.

С целью устранения трудностей программирования на языке машинных кодов прибегают к представлению команд МП с помощью их мнемонических обозначений. Мнемоническое обозначение (мнемоника) команды представляет собой сокращение от английских слов и словосочетаний, описывающих операцию. Например, операция декремента, подразумевающая отрицательное приращение на единицу содержимого какого-либо регистра МП, имеет мнемонику DCR; инкремент (положительное приращение) – INR; операция пересылки имеет мнемонику MOV от английского move – переслать и т.п. Мнемонический код команды позволяет легко запомнить ее содержание и значительно упростить процесс программирования. Язык программирования МП низкого уровня, использующий мнемонические обозначения команд МП называется языком ассемблера.

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