Организация временной задержки

1. Записать коды команд программы 9.1.

Программа 9.1. Программа временной задержки.

  MVI B, 05h ;Загрузка числа в B.
LAB_1: MVI C, FFh ;Загрузка числа в C.
LAB_2: NOP ;Нет операции.
  MOV A, C ;Занести C в Акк.
  CPI 00h ;Сравнить Акк. с нулем.
  JZ LAB_3 ;Если Акк. = 0, идти на LAB_3, иначе ; след. команда.
  DCR C ;Уменьшение числа в регистре C на 1.
  JMP LAB_2 ;Безусловный переход на LAB_2.
LAB_3: MOV A, B ;Занести B в Акк.
  CPI 00h ;Сравнить Акк. с нулем.
  JZ LAB_4 ;Если Акк. = 0, идти на LAB_4, иначе ; след. команда.
  DCR B ;Уменьшение числа в регистре B на 1.
  JMP LAB_1 ;Безусловный переход на LAB_1.
LAB_4: HLT ;Выход из программы.

2. Ввести программу 9.1, исправить ошибки, осуществить пуск.

3. Исследовать процесс выполнения программы в пошаговом режиме. После каждой команды проверить содержимое всех регистров МП.

4. Подбором содержимого регистров B и C в первых двух строках программы добиться временной задержки, приблизительно равной 2 – 3 минутам.

5. Определить, при каких числах в регистрах B и C программа 7.1 будет осуществлять минимальное и максимальное время задержки, приблизительно оценить минимальное и максимальное время задержки.

6. Что нужно изменить в программе 9.1, чтобы время задержки увеличить до одного часа?

Изучение порядка работы с внешними устройствами

1. Откройте программу MonitorOUT_Pixls.580. Выполните ее. Определите, что делает указанная программа. Измените программу таким образом, чтобы на экране получилась горизонтальная линия красного цвета.

2. Откройте программу MonitorOUT_Text.580. Выполните ее. Определите, что делает указанная программа. Измените программу таким образом, чтобы на монитор выводилась ваша фамилия.

3. Откройте программу FloppyOUT_Text.580. Выполните ее. Определите, что делает указанная программа. Запишите назначение всех команд, входящих в программу.

4. Откройте программу HDiscOUT_Text.580. Выполните ее. Определите, что делает указанная программа. Запишите назначение всех команд, входящих в программу.

5. Откройте программу Net_RxTx.580. Выполните ее. Определите, что делает указанная программа. Запишите назначение всех команд, входящих в программу.

6. Откройте программу PrinterOUT_Text.580. Выполните ее. Определите, что делает указанная программа. Измените ее таким образом, чтобы на принтер выводилось 5 строк по 10 элементов в каждой.

4. Содержание отчёта

  1. Название, цель работы
  2. Результаты выполнения каждого задания.
  3. Ответы на контрольные вопросы.

Вопросы к защите

1. Перечень, назначение и процесс выполнения команд пересылки данных.

2. Понятие стековой области. Перечень, назначение и процесс выполнения команд обмена данными со стеком.

3. Перечень, назначение и процесс выполнения команд обмена данными с внешними устройствами.

5. Перечислите команды сложения с указанием их назначения.

6. Перечислите команды вычитания с указанием их назначения.

В чем отличие выполнения операция с двухбайтными числами от выполнения операций с однобайтными числами?

7. Перечислите команды логических операций с указанием их назначения.

8. Перечислите команды сравнения с указанием их назначения.

9. Опишите назначение байта-маски.

10.Назначение команд управления JMP, CALL, PCHL, RET, EI, DI, HLT, NOP, Jcc, Ccc, Rcc.

11.Назначение команд ввода-вывода IN port, OUT port.

12.Назначение команд работы со стеком PUSH rp, POP rp, XTHL, SPHL.

13.С помощью каких команд можно организовать цикл?.

14.Назначение каждой из команд организации цикла.

15.Какие группы регистров участвуют в организации циклов?

16.Что такое подпрограмма?

17.Для чего предназначены команды передачи управления?

18.Назначение стека.

19.Какие в системе команд МП КР580 предусмотрены операции со стеком?

20.Какие команды МП КР580 используются при обращении к подпрограммам и возврате из подпрограмм?

21.Для чего в программе 7.1 предназначены строки: 4 – 6, 9 – 11?

Приложение

Самостоятельная работа по лабораторной работе № 3

«Работа с программами и данными в машинном представлении»

Самостоятельная работа по теме занятия включает в себя:

- изучение теоретического материала лекционных занятий, учебной литературы, Интернет-ресурсов, раздела «Краткие сведения из теории» настоящего описания ЛР;

- выполнение практических заданий и решение задач

Задачи и практические задания

1. Инвертировать 1, 3 и 7 биты байта 101100012 (В116) с помощью байта-маски 100010102 (8А16), используя одну из команд: XRA r, XRA M, XRI D8.

Адрес Код Мнемоника Операнд Комментарий

0800 3E B1 MVI A, B1 10110001→A

0802 0E 8А MVI C, 8А 10001010→C

0804 A9 XRA C A C→A

0805 76 HLT Конец

Проверить и зафиксировать содержимое регистров А, C, F.

2. Поразрядно сравнить два числа 101100012 и В116, используя одну из команд: XRA r, XRA M, XRI D8.

Адрес Код Мнемоника Операнд Комментарий

0800 3E B1 MVI A, B1 10110001→A

0802 EE B1 XRI B1 A C→A

0804 76 HLT Конец

Проверить и зафиксировать в отчете содержимое регистров А, F.

3. Сравнить числа 3D16 и 2216, 3D16 и 8F16, 3D16 и 3D16, используя одну из команды: CMP r, CMP M, CPI D8.

Адрес Код Мнемоника Операнд Комментарий

0800 3E 3D MVI A, 3D 3D→A

0802 06 22 MVI B, 22 22→B

0804 B8 СМР B A-B→F

0805 76 HLT Конец

Проверить и зафиксировать в отчете содержимое регистров А, B, F.

Адрес Код Мнемоника Операнд Комментарий

0800 21 40 08 LXI H, 0840 08→H, 40→L

0803 3E 3D MVI A, 3D 3D→B

0805 36 8F MVI M, 8F 8F→M

0807 BE CMP M A-M→F

0808 76 HLT Конец

Проверить и зафиксировать содержимое регистров А, M, F.

Адрес Код Мнемоника Операнд Комментарий

0800 3E 3D MVI A, 3D 3D→A

0802 FE 3D CPI 3D A-3D→F

0804 76 HLT Конец

Проверить и зафиксировать в отчете содержимое регистров А, F.

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

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

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

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

Наши рекомендации