Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PIC_Lektsii.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

1.2. Программная модель мпс кр580вм80а

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

На рис. 3. показана программная модель МП-системы на базе микропроцессора К580. Особенностью микропроцессора является возможность программного объединения (конкатенации) 8-битных РОН в 16-битные операнды или выступать в качестве указателей памяти. Основным указателем памяти служит Н-пара, которая адресуется в командах как РОН с адресом 110. Ячейка памяти, адрес которой определяется содержимым Н-пары, обозначается М (memory - память). Микропроцессор может адресовать до 256 портов ввода, до 256 портов вывода, а также 64 К ячеек памяти.

Рис. 3. Регистровая модель микропроцессора.

Рассмотрим формат данных и команд. Данные (обрабатываемая информация и результаты обработки) хранятся в оперативной памяти ив процессоре в виде 8-разрядных двоичных чисел. Таким образом, слово данных имеет следующий формат:

D7

D6

D5

D4

D3

D2

D1

D0

(байт данных)

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

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

Для команд МП КР580ВМ80 используются одно-, двух-, трехбайтовые форматы. Однобайтовый формат команды:

D7

D6

D5

D4

D3

D2

D1

D0

(код операции)

Большинство команд является однобайтовыми.

Двухбайтовый формат команды:

В1

D7

D6

D5

D4

D3

D2

D1

D0

(код операции)

В2

D7

D6

D5

D4

D3

D2

D1

D0

(операнд или номер устройства ввода-вывода)

В первом байте двухбайтовой команды указывается вид выполняемой операции, во втором байте приводится число, являющееся операндом при выполнении операции, либо номером устройства ввода или вывода при обмене данными.

Трехбайтовый формат команды:

В1

D7

D6

D5

D4

D3

D2

D1

D0

(код операции)

В2

D7

D6

D5

D4

D3

D2

D1

D0

(младший байт адреса или младший байт операнда)

В3

D7

D6

D5

D4

D3

D2

D1

D0

(старший байт адреса или старший байт операнда)

Байты трехбайтовой команды имеют следующее назначение: в первом указывается вид выполняемой операции, следующие два байта используются для указания двухбайтового адреса команды (при выполнении безусловных, условных переходов, обращении к подпрограммам), или адреса ячейки оперативной памяти, содержимое которого является операндом, или двухбайтового операнда. Во всех случаях байт В2 является младшим, байт В3 - старшим.

Рассмотрим способы адресации, используемые в командах МПС КР580ВМ80А. Для того чтобы могла быть выполнена определенная операция, в команде, кроме вида операции, должно содержаться указание, откуда берутся участвующие в операции числа и куда помещается результат выполненной операции (иначе говоря, указание об источниках и приемнике операндов). Под способами адресации понимают способы, используемые для указания источников и приемников операндов.

В микропроцессоре КР580ВМ80 используются следующие способы адресации.

Прямая адресация. При этом способе адресом операнда является указанный в команде (в байте кода операции) адрес регистра микропроцессора.

Покажем некоторые примеры команд с прямой адресацией:

STA2530H; (A) ПАМ

Здесь содержимое аккумулятора заносится в ячейку памяти с адресом 2530Н (адрес указан в 16-ричной системе счисления)

LDA 1040H; (ПАМ) А

Содержимое ячейки памяти с адресом 1040Н загружается в аккумулятор. Для адресации к внутренним регистрам микропроцессора используется прямая регистровая адресация. Например,

MOV C, D; (D) С

Содержимое регистра D передается в регистр С.

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

Ниже приведены примеры команд с непосредственной адресацией.

МVI B, 0101010 ; 0101010 В

Здесь число 0101010 (указано в двоичной системе счисления) заносится в регистр В.

LXID, 4001H, 01H E, 40H D

Команда LXI производит пересылку чисел, приведенных во втором и третьем байтах соответственно в младший и старший регистры пары регистров DE.

Косвенная адресация. При этом способе адресации в команде указывается пара регистров блока РОН (путем указания адреса одного из регистров этой пары), содержимое которой служит адресом, по которому в оперативной памяти находится операнд.

Примеры команд с косвенной адресацией:

  1. LDAX B A

  2. STAX B (A)

Здесь запись означает ячейку памяти, адресом которой служит содержимое пары регистров ВС.

По команде LDAX B аккумулятор загружается содержимым ячейки оперативной памяти, адресом которой служит содержимое пары регистров ВС.

По команде STAX B содержимое аккумулятора запоминается в ячейке, адресом которой служит содержимое пары регистров ВС.

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

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

На рис 4. показан обмен адресами и данными между регистрами при различных видах адресации.

.

Рис. 4. Различные способы адресации в МП КР580ВМ80

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

Длина символических наименований, состоящая из букв и цифр, ограничена 5-6 символами, первый из которых должен быть буквой. Буква I в конце мнемоники кода говорит о непосредственной адресации. Буква X в конце мнемоники обозначает косвенную адресацию. Отсутствие этих букв говорит о прямой адресации. Числовые данные в языке ассемблера допускается представлять в двоичной, восьмеричной, десятичной и шестнадцатеричной системах счисления.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]