Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорные системы управления.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
7.35 Mб
Скачать

4.3.1 Алфавит языка Ассемблера, данные, адресное пространство

Алфавит языка Ассемблер содержит:

1. 26 букв латинского алфавита от А до Z.

2. Цифры от 0 до 9.

3. Знаки # .,%;=()"+-&! и пробел.

4. Управляющие символы формата: ВК (возврат каретки), ПС (перевод строки), ПФ (перевод формата) и ГТ (горизонтальная табу­ляция).

МикроЭВМ «Электроника-60» является двухадресной ЭВМ, по­строенной на базе шестнадцатиразрядного микропроцессора серии К581. Внутреннее представление чисел, адресов и команд выполнено в восьмеричной системе счисления. Слово состоит из двух байтов, причем старший 15-й разряд является знаковым (рис. 27).

Старший байт Младший байт

байт

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Рисунок 27 – Представление чисел в микроЭВМ

Если в 15-м разряде записан 0, то знак числа в слове «+», если , то «-»• Отрицательные числа представляются в дополнительном коде. Команды записываются в одном, двух или трех последовательно ^доложенных словах (в зависимости от формата команды). Команды расширенной арифметики, т.е. операции над словами двойной длины (умножение, деление, сдвиги) и операции с плавающей запятой ис­пользуют двойные слова, т.е. 32-разрядные целые числа.

Адресное пространство, доступное программисту, показано на рис. 28. Оно состоит из восьми РОН, регистра состояния RS, входящих в состав микропроцессора и ОЗУ или ПЗУ.

RS

ОЗУ или ПЗУ

(28К слов)

Регистры пе­риферийных устройств

(4К слов)

160000-177777

РОН

RO

R1

R2

Векторы

прерыва­-

ния

000-377

Данные и

программы

400-157777

R3

R4

R5

R6 (SP)

R7 (PC)

Рисунок 28 – Распределение адресного пространства

Полный объем адресного пространства, исключая РОН и RS, со­ставляет 216=64Kбaйт или 32К слов. Из них первые 28К являются ОЗУ или ПЗУ (от 0 до 157777g), начальные 256 адресов которого (от О до 377g) хранят исходные данные для прерывающихся программ (системная область памяти), а последние 4К слов отведены для адре­сации регистров состояний и данных периферийных устройств.

4.3.2 Система команд

Система команд микроЭВМ «Электроника-60» содержит более 80 команд, полный список которых приведен в литературе. В таблице 10 сведены основные команды «Электроника-60», используя которые, можно освоить программирование на языке Ассемблер как для ЭВМ СМ-4, так и для других ЭВМ различных типов, поскольку принципы программирования для всех ЭВМ одинаковы.

67

Таблица 10 – Основные команды

Фор­мат

Мнемо­код

Восьмерич­ный код

Признаки

Содержание команды

N

z

V

с

1

MOV

01SSDD

+

+

0

-

(D)->(S) - передача слова

MOVB

11SSDD

+

+

о

-

(D)->(S) - передача байта

СМР

02SSDD

+

+

+

+

(S) - (D) - сравнение слов

СМРВ

12SSDD

+

+

+

+

(S) - (D) - сравнение байтов

ADD

06SSDD

+

+

+

+

((S) + (D))->(D) – сложение

SUB

16SSDD

+

+

+

+

((S) - (D))->(D) – вычита­ние

MUL

070RSS

+

+

0

+

(RxS) - умножение (старшие ряды в R1, младшие - в Rу1)

DIV

071RSS

+

+

+

+

(RuRv1)/(S) – деление (частное в R1, остаток –в Rу1)

2

SWAB

0003DD

+

+

0

0

Перестановка байтов

CLRB

1050DD

0

1

0

0

Очистка

COMB

1051DD

+

+

0

1

Инвертирование

INCB

1052DD

+

+

+

-

Прибавление единицы

DECB

1053DD

+

+

+

-

Вычитание единицы

NEGB

1054DD

+

+

+

+

Дополнение кода

ASRB

1062DD

+

+

+

+

Арифметический сдвиг вправо

ASLB

1063DD

+

+

+

+

Арифметический сдвиг влево

JMP

0001DD

-

-

-

-

Засылка (D) в СК

JSR

004RDD

-

-

-

-

Обращение к подпрограмме

RST

00020R

-

-

-

-

Возврат из подпрограммы

SOB

077RKK

-

-

-

-

Счет циклов

MARK

0064KK

-

-

-

-

Восстановление указателя стека

3

NOP

000240

-

-

-

-

Нет операции

HALT

000000

-

-

-

-

Останов

WAIT

000001

-

-

-

-

Ожидание прерываний

RTI

000002

+

+

+

+

Возврат из прерывания

BPT

000003

+

+

+

+

Прерывание для отладки

IOT

000004

+

+

+

+

Прерывание по вводу-выводу

RTT

000006

+

+

+

+

Возврат из программы прерывания

4

TRAP

104400+E

+

+

+

+

Командное прерывание

ВР

000400+E

-

-

-

-

Безусловный переход

BNE

001000+E

-

-

-

-

Условный переход по # 0

BEQ

001400+E

-

-

-

-

—// по = 0

BGE

002000+E

-

-

-

-

//— по > 0

BLT

002400+E

-

-

-

-

—//— по < 0

BGT

003000+E

-

-

-

-

—//— по > 0

BLE

003400+E

-

-

-

-

—//— по <. 0

BPL

100000+E

-

-

-

-

//— по плюсу

BMI

100400+E

-

-

-

-

//— по минусу

В таблице 10 приняты обозначения:

SS – адресация операнда-источника (S), символ S записан два­жды, так как операнд S в команде занимает два восьмеричных (или шесть двоичных) разряда;

DD – тип адресации операнда-приемника (D), символ D записан дважды, так как операнд D занимает в команде два восьмеричных (или шесть двоичных) разряда;

КК – восьмеричная константа (число);

Е – смещение PC;

R – один из РОН;

V – дизъюнкция (логическое ИЛИ).

Действие над признаками N, Z, V, С:

«+» - формируется по результату операции;

«- » - не изменяется;

«О» - очищается;

«I» - устанавливается.

Взятие в скобки означает, что в команде используется не сам операнд, например D, а адрес, в котором расположен операнд D, т.е. (D).

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

б)

В системе команд используются четыре формата.

г)

Рисунок 29 – Форматы команд микроЭВМ «Электроника-60»

На рисунке 29 приняты обозначения:

КО – код операции, записывается в четырех разрядах (12-15) т.е. имеет всего 24=16 комбинаций, из них используются в виде кодов 14 комбинаций, коды 0001-0111 и 1001-1111, а коды 0000 и 1000 ука­зывают на принадлежность команды к 2, 3 или 4-му форматам и совместно с другими разрядами образуют расширенные коды операций;

S – адрес первого операнда, занимает шесть двоичных разрядов (6-11);

D – адрес второго операнда (он же адрес результата) занимает шесть двоичных разрядов (0-5).

Адреса S и D определяют способы адресации операндов. Формат 1 используется для оформления операций с плавающей запятой и операций расширенной арифметики. Он имеет вид, пред­ставленный на рисунке 29, а.

Формат 2 используется для одноадресных арифметических и логических операций (рис. 29, б).

Код операции занимает 10 разрядов, адрес операнда D – шесть двоичных разрядов.

Формат 3 используется для безадресных команд изменения признаков N, Z, V, С и команд управления работой процессора и пе­риферийных устройств. КО занимает все 16 разрядов (рис. 29, в).

Формат 4 используется для команд ветвления (рис. 29, г). КО и Е занимают по восемь разрядов.

Смещение Е – это приращение счетчика команд. Максимальное приращение составляет ±127, т.е. число, равное ±27 слов. Если усло­вие перехода выполнено, то к значению PC прибавляется два байта и еще ±Е слов, т.е. выполняется команда с адресом (РС+2байта ±Е). Ес­ли условие перехода не выполнено, то выполняется следующая, с ад­ресом (РС+2байта), команда.