ГБОУ СПО СПб КИТ

Лабораторная работа № 9

Программирование арифметических задач на Ассемблере для микропроцессора К580

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

1 Сложение двухбайтовых десятичных чисел

Цель: Выполнить операцию сложения двух двухбайтных чисел

Таблица 1 - Программа PRG 1 сложения двух десятичных чисел

Адрес

Код

Мнемоника

Комментарий

0000

3E

MVI A,8A

Младший байт первого слагаемого заносится в аккумулятор 8A16 ®A

0001

8A

0002

06

0003

B4

0004

80

0005

32

0006

50

0007

00

0008

3E

0009

08

000А

06

000В

10

000С

88

000D

32

000E

51

000F

00

0010

76

Данная программа выполняет операцию 88A16 + 10B416 = 193E16

(218610 + 427610 = 646210). Сначала складываются младшие байты чисел, затем старшие с учетом переноса в старший байт. Младший байт суммы содержится в ячейке памяти 0050, а старший байт суммы в ячейке памяти 0051. Проверить результат сложения. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 1. Проверить и зафиксировать в отчете содержимое регистра F после сложения младших и старших байтов, а также результат сложения. Программу выполнять в режиме команд.

Индивидуальное задание 1

В отчете представить:

1. Арифметические вычисления в десятичной и шестнадцатеричной системе счисления.

2. Результат сложения двух чисел поместить в ячейки 0020 и 0021.

3. Скриншот программы до выполнения.

4. Скриншот программы после выполнения.

5. Таблицу с текстом программы и комментариями.

Вариант

ФИО

Задание (в десятичной с. с.)

1

Баканин Руслан

1234+3478

2

Болгов Иван

2098+4512

3

Бондаренко Михаил

1980+3411

4

Долин Ярослав

2316+2789

5

Жариков Евгений

2561+3401

6

Зайцев Дмитрий

2309+3205

7

Иванов Кирилл

1234+5601

8

Коркин Кирилл

2094+4167

9

Костюк Иван

3400+2176

10

Кривокора Владислав

4309+2189

11

Ливенский Александр

4705+2612

12

Логвинец Евгений

3091+1870

13

Новокшонов Павел

3890+1670

14

Огаркова Анна

3487+1569

15

Осипов Антон

4511+1908

16

Осипов Владислав

3284+2156

17

Пасюта Александр

2351+1230

18

Прокофьев Виталий

4181+2144

19

Семячков Антон

3091+2389

20

Соболев Михаил

2190+4211

21

Степанов Игорь

1904+3890

22

Тимаревский Михаил

2311+4356

23

Черницын Матвей

2111+2900

24

3406+1940

2 Вычитание одинаковых по длине чисел

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7