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

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

Лабораторная работа № 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 Вычитание одинаковых по длине чисел

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

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

Адрес

Код

Мнемоника

Комментарий

0000

3E

0001

27

0002

D6

0003

83

0004

32

0005

50

0006

00

0007

3E

0008

21

0009

DE

000А

10

000В

32

000С

51

000D

00

000E

76

Данная программа выполняет операцию 212716 – 108316 = 10A416

(848710 – 422710 = 426010). Сначала из младшего байта уменьшаемого вычитается младший байт вычитаемого, результат помещается в ячейку памяти 0050. Далее с учетом заема в младший байт из старшего байта уменьшаемого вычитается старший байт вычитаемого, результат помещается в ячейку памяти 0051. Проверить результат вычисления. Выполнить индивидуальное задание. Заполнить третий и четвертый столбец таблицы 2. Проверить и зафиксировать в отчете содержимое регистра F после вычитания младших и старших байтов, а также результат вычитания чисел – ячейки памяти 0050 (младший байт разности) и 0051 (старший байт разности). Программу выполнять в режиме команд.

Проверьте правильность полученного результата для примера:

А30416 (4173210) – 7E2116(3228910) = 24E316(944310).

Самостоятельно, поместите результат вычислений в ячейки 0020 и 0021.

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

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

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

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

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

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

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

Вариант

ФИО

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

1

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

40567-34008

2

Болгов Иван

32891-23451

3

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

23000-8711

4

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

19834-7611

5

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

23456-10888

6

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

45088-2456

7

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

54123-25120

8

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

63410-7654

9

Костюк Иван

43091-2309

10

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

45900-21098

11

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

50145-10987

12

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

49800-33111

13

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

19089-8900

14

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

36510-20987

15

Осипов Антон

32198-12345

16

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

54009-26511

17

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

49001-56234

18

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

51234-23411

19

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

36709-12099

20

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

34211-10981

21

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

41308-25765

22

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

54100-34145

23

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

23400-13022

24

47890-2341

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