Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_модуль_1 МПТ.doc
Скачиваний:
11
Добавлен:
12.02.2016
Размер:
985.09 Кб
Скачать

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

Электронная вычислительная машина (независимо от ее сложности) может делать только то, что ей «говорят». Этот «текст» представляет собой последовательность команд, принадлежащих программе. К программисту относится область ПО, а разработчику принадлежит область. аппаратных средств. К программному обеспечению ЭВМ относятся и те программы, которые написаны для этой ЭВМ.

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

Каждая команда предоставляет программисту возможность выполнить в ЭВМ соответствующую операцию. Все ЭВМ имеют в системе команд команды арифметических операций, таких как сложение содержимого двух регистров. Часто в системе команд имеются команды логических операций (например, операция логического ИЛИ над содержимым двух регистров) и команды регистровых операций (например, операция инкрементирования содержимого регистра). Система команд ЭВМ должна также включать команды, реализующие обмен данными между регистрами и памятью и между регистрами и УВВ. Большинство систем команд ЭВМ содержит, кроме того, условные команды. Условная команда задает некоторую операцию только в том случае, если реализуется заданное условие, например переход к определенной команде, если результат выполнения предыдущей команды нулевой. Условные команды предоставляют программе возможность принятия решений.

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

Электронная вычислительная машина, однако, может выполнять программы, все команды которой представлены в двоичном коде (наборами.0 и 1), называемом машинным кодом. Так как программирование в машинных кодах предельно затруднено, то получили развитие языки программирования. Имеются программы, с помощью которых команды, записанные на языке программирования, переводятся в машинные коды процессора.

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

Типы команд микропроцессора 8080

Система команд МП 8080 состоит из пяти различных типов (групп) команд.

Группа команд пересылки выполняет операции обмена данными между регистрами или между регистрами и памятью.

Группа команд арифметических опер а ц и й выполняет операции сложения, вычитания, инкрементирования или декрементирования данных в регистрах или ячейках памяти.

Группа команд логических операций выполняет операции И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, сравнения, сдвига или дополнения данных в регистрах или ячейках памяти.

Группа команд ветвления выполняет операции условного и безусловного переходов по программе, условного и безусловного вызовов подпрограммы, а также условного и безусловного возвратов из подпрограммы.

Группа команд управления и операций со стеком и УВВ выполняет операции ввода-вывода, операции со стеком и операции управления признаками состояний.

Форматы команд и данных

Память МП 8080 представляет собой массив 8-битных слов, называемых байтами. Каждый байт имеет свой 16-битный адрес, определяющий его положение в последовательности ячеек памяти. Микропроцессор 8080 может прямо адресовать 65 636 байт памяти, которая может содержать как ПЗУ, так и ОЗУ.

Данные в МП8080 хранятся в памяти в виде 8-битных слов:

Если содержимое регистра или слово в памяти представляет собой двоичное число, то необходимо индексировать каждый бит этого слова. В МП 8080 младшим значащим битом (МЗБ) является бит 0, а бит 7 (с порядковым номером 8) является старшим значащим битом (СЗБ).

Команды МП 8080 имеют одно-, двух- или трехбайтный формат. Многобайтные команды должны быть размещены в последовательных ячейках памяти; адрес первого байта команды является адресом всей команды. Формат команды зависит от особенностей выполняемой операции:

Способы адресации

Часто данные, которые участвуют в операции, хранятся в памяти. Когда используются многобайтные данные, они подобно командам располагаются в последовательных ячейках памяти, в порядке возрастания от младшего значащего байта к старшему. Микропроцессор 8080 имеет четыре различных способа адресации данных, хранимых в памяти или в регистрах.

Прямая адресация. Второй и третий байты команды содержат точный адрес байта данных в памяти (младший полуадрес представлен вторым байтом команды, старший полуадрес — третьим).

Регистровая адресация. В коде команды адресуется регистр или пара регистров, в которых хранятся данные.

Косвенно-регистровая адресация. Команда выбирает регистровую пару, в которой содержится адрес ячейки памяти (старший полуадрес располагается в первом регистре пары, а младший — во втором).

Непосредственная адресация. Данные представлены в теле команды. Данные могут быть 8- или 16-битными (первым следует младший значащий байт, вторым — старший).

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

Прямой адресацией. Команда ветвления содержит адрес команды, которая должна выполняться следующей (за исключением команды RST, второй байт команды содержит младший полуадрес, а третий байт — старший полуадрес следующей команды).

Косвенно-регистровой адресацией. Команда ветвления задает регистровую пару, содержимое которой представляет собой адрес следующей команды (старший полуадрес расположен в первом, а младший — во втором регистре пары).

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