logo search
МП устройства СУ / Конспект лекций

1.7. Система команд микропроцессора.

Поскольку МП воспринимает только двоичную форму информации, то команды должны быть представлены в виде двоичных кодов. Такая форма представления команд называется машинным языком или машинным кодом. Для человека машинные коды из нулей и единиц неудобны, поскольку их трудно запомнить и отождествить с фактическим назначением команды, а в самих машинных кодах легко перепутать 0 и 1. Для более краткой записи двоичных чисел используются также восьмеричная и шестнадцатеричная формы представления информации. Однако и в этом случае остается нерешенной основная проблема: что означает каждая команда, выраженная в подобной форме. По этой причине при описании команд используются условные обозначения в виде мнемонических названий. Мнемоническое название (мнемоника) команды представляет собой сокращение от английских слов, описывающих операцию, выполняемую командой. Мнемонический код команды позволяет легче запомнить ее функцию и значительно упрощает написание программ. Например, команда возврата из подпрограммы по которой хранящийся в стеке адрес пересылается обратно в счетчик команд имеет обозначение RET (от return – вернуться).

Каждый МП характеризуется своей системой команд. Система команд - это полный перечень тех операций, которые способен производить МП. Управляемый этими командами МП выполняет очень простые действия, такие, как элементарные арифметические и логические операции, операции пересылки данных, сравнения двух величин и другие. Однако, составив программу из последовательности таких команд, можно запрограммировать выполнение алгоритма любой сложности. Обычно все команды в системе команд объединяются в группы по функциональному назначению. Например, выделяют команды пересылки кодов, команды логических и арифметических действий, команды передачи управления и ряд команд других групп.

Условное обозначение команды помимо мнемоники может также включать названия регистров r и регистровых пар rp. Воспользуемся для примера гипотетическими, т.е. не привязанными к конкретному типу МП названиями регистров - аккумулятором А и регистрами общего назначения В и С. Регистровые пары, если их использование предусмотрено типом МП, даются как правило первыми буквами их обозначения. Так вместо регистровой пары BC в обозначениях команд будет записан символ В. Например, команда пересылки данных из регистра С в аккумулятор имеет обозначение MOV А, С (от move – переслать). Команда загрузки в стек содержимого регистровой пары ВС имеет обозначение PUSH B (от push – проталкивать).

При описании системы команд операнд может иметь условное обозначение data, адрес порта - условное обозначение port, а адрес ячейки памяти или адрес перехода - условное обозначение addr. Например, команда записи в регистр С операнда, содержащегося во втором слове команды имеет обозначение MVI C, data (от move immediate - передать непосредственно). Команда записи в аккумулятор данных из порта, адрес которого содержится во втором слове команды, имеет обозначение IN port (от input – ввести). Команда безусловного перехода, по которой адрес, содержащийся в команде записывается в счетчик команд, имеет обозначение JMP addr (от jump - перейти). При использовании команд в программе вместо обозначений data, port и addr будут подставлены конкретные числовые операнды и адреса.

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