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

3. Завдання

1.Виконується на самостійній підготовці перед виконанням ­дослідної роботи.

1.1.Скласти програму для виконання за прикладом 1 таких тотожнос­тей:

1.Y=X1+35-2*X2

2.Y=2*X2+4*X1+7

3.Y=X2+3*X1-15

4.Y=X1-X2-40

5.Y=4*X1-3*X2+16

Значення чисел Х1,Х2 подані в таблиці 1 для вказаного викладачем варіанту (числа десяткові).

Таблиця 1

Числа

ВАРІАНТИ

1

2

3

4

5

Х1

15;9

41;26

99;80

65;30

50;2

X2

21;11

39;14

66;75

45;15

29;2

4.Виконується в лабораторії

Приклад 1

Вирахувати Y=3*(X1-4+X2).Результат записати в комірку пам’яті за адресою 8052. Число Х2 зберігається в комірці 8051 , число Х1 - в комірці 8052.

Необхідно пам’ятати, що при записі адреси в машинному коді молодший байт вводиться другим байтом ,а старший-третім байтом команди.

Асемблер Машинний код

LDA 80 52 3А 52 80

1 байт 2 байт 3 байт 1 байт 2 байт 3 байт

де 52-молодший байт

80-старший байт

Приклад 2

Адреса

Машинний код

Асемблер

Коментатор

8080

3А 51 80

LDA 8051

Завантаження в А числа Х1 з комірки 8051

8003

D6 04

SUІ 04

Віднімання від вмісту А константи 4 (10)=4(16)

8005

21 52 80

LXІ H,8052

Завантаження в регістри H,L адреси 8052

8008

86

ADD M

Додавання до вмісту А вмісту комірки пам’яті, адреса якої зберігається в регістрах H,L

8009

86

ADD M

Те саме

800A

86

ADD M

Те саме

800В

32 50 80

STA 8050

Завантаження вмісту А в комір ку 8050

800Е

76

HLT

Зупинка

4.2. Скласти програму за прикладом 2, яка б демонструвала команди зсуву з використанням команд безумовного і умовного переходів. Скласти розгалужену програму контролю вмісту ко­мірок пам'яті ОЗП за адресами Адр1=8030, Адр2=8031.

Якщо число Х1, яке зберігається за адресою Адр1, менше числа Х2 ( адреса Адр2 ) - зсунути вміст акумулятора вліво на одну позицію, Х1>Х2 - вправо на одну позицію, Х1=Х2 зсув вправо через перенос.

Приклад 2

Адреса

Машинний код

Асемблер

Коментар

8000

3A 30 80

LDA 8030

Завантаження в А числа Х1, з комірки Адр1

8003

21 31 80

LHІ,H8031

Завантаження в регістри H,L

8006

BE

CMPM

Порівняння вмісту А з вмістом комірки пам'яті, адрес якої зберігається в регістрах H,L адреси Адр2

8007

DA 11 80

JC LAB

Якщо вміст А менший вмісту комірки пам'яті за адресою Адр2, то перехід до виконання команди з мітками LAB RLG інакше виконується наступна команда.

800А

СА 15 80

JZ LAB1

Якщо вміст Х1=Х2, то перехід до виконання команди LAB1 RAR, інакше виконується наступна команда

800D

07

RLG

Зсув вліво

800Е

C3 16 80

JMP END

Перехід до команди HLT

8011

OF

LAB RRC

Зсув вправо

8012

C3 16 80

JMP END

Перехід до команди HLT

8015

1F

LAB1 RAR

Зсув вправо через перенос

8016

32 50 80

STA 8050

Запис вмісту А в пам’ять за адресою 8050

8019

76

END HLT

Зупинка

4.3 Скласти програму для запису даних в регістри загального призначення B,C,D з записом вмісту відповідного регістру в акумулятор. Просумувати вміст А з регістром і виконати логічну операцію над регіст­ром суми, результат занести в пам'ять.

Завдання виконувати за варіантом вказаним викладачем, за прикладом 3.

Таблиця 3

Варіант

Регістри

Число

Логічна операція

1

В , С

17;99

Операція " 1 "

2

D , B

68;45

Операція " Виключне АБО "

3

C , D

10;4

Операція " АБО "

4

D , C

54;86

Порівняння регістру С з вмістом акумулятора

Приклад 3.

Адреса

Машинний код

Асемблер

Коментар

8000

0604

MVІB,04

Записати число в регістр В 4(10)=4(16)

8002

0Е06

MVІC,06

Записати число в регістр С

С 6(10)=6(16)

8004

78

MOV A,B

Занести вміст регістру В в А

8005

81

ADDC

Сумування вмісту А і регістру С

8006

2F

СМА

Інвертування суми (доповнення)

8007

32 50 80

STA 8050

Записати результат в пам'ять

800С

76

HLT

Зупинка

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