Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
82
Добавлен:
21.02.2014
Размер:
165.38 Кб
Скачать

Цель работы: изучение программных способов маскирования данных и организации условных переходов в микроЭВМ.

Основные понятия

Все команды МП подразделяются на пять функционально специализированных групп:

1) команды передачи данных - используются для пересылки данных из регистра в регистр, из памяти в регистр (регистровую пару) и из регистра (регистровой пары) в память;

2) команды арифметических операций - применяются для арифметических операций сложения, вычитания, инкрементирования и декрементирования содержимого регистра (регистровой пары) или ячейки памяти, а также для сложения двоично-десятичных чисел;

З) команды логических операций - выполняют операции И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ (неравнозначность), сравнения и сдвига;

4) команды передачи управления - используются при условных и безусловных переходах в программе, вызовах подпрограмм и возврата из них, рестартах подпрограмм при организации многоуровневых векторных прерываний;

5) команды стека, ввода-вывода и управления - применяются для управления прерыванием, останова МП, ввода-вывода данных и обращения к стеку, его указателю и вершине.

Условные переходы организуются в программах с помощью команд условных переходов. При выполнении этих команд МП БИС проверяет состояние соответствующего регистра состояния. Если при проверке состояния разряда регистра состояния условие не подтверждается, то выполняется следующая по порядку команда программы.

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

Организация условных переходов в микроЭВМ осуществляется с помощью регистра признаков МП БИС.

Задания к лабораторной работе

Задание 1. Заполнить таблицу для команд, проверить правильность заполнения на учебном микропроцессорном комплекте:

1. ANA R, XRI B2, CMP M;

2. ANA M, XRA R, CPI B2;

3. ANI B2, XRA M, CMP R.

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

1) Для команды ANA R:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI R, 11

Пересылка непосредственных данных в регистр

0801

11

0802

3A

LDA, 0B00

Получить число из адреса 0В00

0803

00

0804

0B

0805

A0

ANA R

Поразрядное И над содержимым A-регистра

0806

32

STA, 0B01

Прямое запоминание содержимого В-регистра

0807

01

0808

0809

CF

RST1

Прервать выполнение программы

2) Для команды XRI B2:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI B, 11

Пересылка непосредственных данных в регистр

0801

11

….

0805

EE

XRI B2

Поразрядное исключающее ИЛИ над непосредственными данными и содержимым А-регистра

0806

11

3) Для команды CMP M:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI B, 11

Пересылка непосредственных данных в регистр

0801

11

….

0805

BE

CMP M

Сравнение содержимого ячейки памяти и А-регистра

4) Для команды ANA M:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI B, 11

Пересылка непосредственных данных в регистр

0801

11

….

0805

A6

ANA M

Поразрядное И над содержимым ячейки памяти и А-регистра

5) Для команды XRA R:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI B, 11

Пересылка непосредственных данных в регистр

0801

11

….

0805

A8

XRA R

Поразрядное исключающее ИЛИ над содержимым регистра и А-регистра

6) Для команды CPI B2:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI B, 11

Пересылка непосредственных данных в регистр

0801

11

….

0805

FE

CPI B2

Cравнение непосредственных данных и содержимого А-регистра

0806

11

7) Для команды ANI B2:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI B, 11

Пересылка непосредственных данных в регистр

0801

11

….

0805

E6

ANI B2

Поразрядное И над непосредственными данными и содержимым А-регистра

0806

11

8) Для команды XRA M:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI B, 11

Пересылка непосредственных данных в регистр

0801

11

….

0805

XRA R

Поразрядное исключающее ИЛИ над содержимым ячейки памяти и А-регистра

9) Для команды CMP R:

Адрес

Машинный код

Мнемокод

Комментарий

0800

06

MVI B, 11

Пересылка непосредственных данных в регистр

0801

11

….

0805

В8

CMP R

Сравнение содержимого регистра и А-регистра

Составим таблицу для выполненных программ:

1116=1710=100012-маска;

1016=1610=100002-число, выданное преподавателем.

Команда

Маска

Число в А

Регистр F

До выполн-я команды

После выполн-я команды

До выполн-я команды

После выполн-я команды

ANA R

1116=100012

1016=100002

1016=100002

FF16=111111112

0216=000000102

XRI B2

1116=100012

1016=100002

0116=12

FF16=111111112

0216=000000102

CMP M

1116=100012

1016=100002

1016=100002

FF16=111111112

8716=100001112

ANA M

1116=100012

1016=100002

1016=100002

FF16=111111112

1216=000100102

XRA R

1116=100012

1016=100002

0116=12

FF16=111111112

0216=000000102

CPI B2

1116=100012

1016=100002

1016=100002

FF16=111111112

8716=100001112

ANI B2

1116=100012

1016=100002

1016=100002

FF16=111111112

0216=000000102

XRA M

1116=100012

1016=100002

EF16=111011112

FF16=111111112

8216=100000102

CMP R

1116=100012

1016=100002

1016=100002

FF16=111111112

8716=100001112

Восьмиразрядный регистр признаков (F-регистр) фиксирует признаки, вырабатываемые в процессе выполнения команд. Каждый из пяти разрядов устанавливается по определенному правилу в соответствии с выполнением МП БИС последней команды, а другие три разряда не используются и содержат биты константы.

Формат регистра признаков:

F7

F6

F5

F4

F3

F2

F1

F0

S

Z

0

AC

0

P

1

CY

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

Задание 2. Написать программы и отладить их на учебном микропроцессорном комплекте.

1) Сравнить числа, записанные по адресам 0В00 и 0В01, и записать большее из них в регистр В.

Адрес

Машинный код

Мнемокод

Комментарий

0800

LDA, 0B00

Прямая загрузка А- регистра

0801

00

0802

0803

47

MOV B,A

Пересылка данных из регистра в регистр

0804

LDA, 0B01

Прямая загрузка А- регистра

0805

01

0806

0807

B8

CMP R

Сравнение содержимого регистра и А-регистра

0808

СA

JZ B2B3

Переход, если 0

0809

0F

080А

08

080В

D2

JC B2B3

Переход, если перенос

080С

0F

080D

08

080E

47

MOV B,A

Пересылка данных из регистра в регистр

080F

СF

RST1

Прервать выполнение программы

Для данной программы составим блок-схему:

2) Пользуясь логическими командами, проверить первый и четвертый разряды числа ХХ и, если они равны 0, установить в них 1.

1016=000100002 – число, заданное преподавателем;

2216=001000102 – маска.

Адрес

Машинный код

Мнемокод

Комментарий

0800

LDA, 0B00

Прямая загрузка А- регистра

0801

00

0802

0803

06

MVI R, 22

Пересылка непосредственных данных в регистр

0804

22

0805

A0

ANA R

Поразрядное И над содержимым A-регистра

0806

В8

CMP R

Сравнение содержимого регистра и А-регистра

0807

C2

JNZ B2B3

Переход, если не 0

0808

0B

0809

00

080А

B0

ORA R

Поразрядное ИЛИ над содержимым регистра и А-регистра

080В

СF

RST1

Прервать выполнение программы

Нарисуем блок-схему для написанной программы:

Соседние файлы в папке маскирования данных