Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие 4.doc
Скачиваний:
11
Добавлен:
30.04.2022
Размер:
350.21 Кб
Скачать

Лабораторное задание

  1. Привести расшифровку кода команд, приведенных в табл. 8.

  2. Загрузить команды из табл. 8 в микротренажер.

  3. Выполнить программу. Просмотреть при выполнении команды «Чтение» данные на индикаторах.

Лабораторная работа №3 ввод данных, организация переходов и цикла

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

Записываем в таблицу программу в машинных кодах. Проставляем все адреса памяти от 0 до 14 и организуем переходы к нужному адресу, указанному в алгоритме. В 6-ю тетраду заносим команду 0001 – переход на адрес, указанный в 7-й тетраде. Начиная с 7-го адреса, выполняем команду «Продолжить». Кроме того, в программу вводим арифметические операции: сложение с единицей и сложение двух чисел для закрепления пройденного.

Рис. 6

Лабораторное задание

  1. Составить программу «Ввод данных, организация переходов и цикла» в машинном коде.

2. Привести расшифровку кода команд.

3. Загрузить команды в микротренажер.

4. Выполнить программу. Просмотреть при выполнении команды «Чтение» данные на индикаторах.

ЛАБОРАТОРНАЯ РАБОТА №4

ЦИКЛИЧЕСКОЕ СЧИТЫВАНИЕ

С УСЛОВНЫМ ПЕРЕХОДОМ

В этой работе после ввода каждого значения данных переходим к подпрограмме, задерживающей ввод следующего числа данных в 3 раза (загрузка R0=3). После ввода D0, D1, D2 переходим к началу программы (адрес 0).

Алгоритм программы приведен на рис 7.

В программе загружаются произвольные значения D0, D1, D2. После загрузки каждого значения переходим к подпрограмме по команде 0101 в 6-й тетраде (переход к подпрограмме). При этом в 7-й тетраде указываем адрес перехода: 0100, так как подпрограмма начинается с адреса 4.

В подпрограмме загружаем число R0=3. Далее вычитаем единицу. Читаем полученное число. Проверяем условие: равен ли результат нулю? Если нет, то возвращаемся к адресу 5, вычитаем единицу и т.д. Если число равно нулю, то переходим к адресу 8, в котором записываем команду 0110 в 6-й тетраде – возврат из подпрограммы.

Для организации проверки условия используем команду 0000 в

6-й тетраде – переход на адрес из регистра МК, если F≠0. И в 7-й тетраде указываем адрес перехода – 0101 (5). В противном случае, если F=0, программа автоматически переходит на следующий адрес (8) и возвращается из подпрограммы.

Рис. 7

Лабораторное задание

1. Составить программу «Циклическое считывание с условным переходом».

2. Привести расшифровку кода команд.

3. Загрузить команды в микротренажер.

4. Выполнить программу. Просмотреть при выполнении команды «Чтение» данные на индикаторах.

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

НАХОЖДЕНИЕ НАИБОЛЬШЕГО ИЗ ТРЕХ ЧИСЕЛ\

В этой программе загружаются 3 числа. Необходимо в результате сравнения чисел выявить наибольшее и считать его. Для сравнения чисел применим вычитание, и по знаку результата выясним, какое число больше. Для этого в 6-й тетраде используем команду 1101 – переход на адрес из регистра МК, если F3<0, иначе (F3>0) переход на следующий адрес.

Последовательность выполнения команд приведена в табл. 9.

Вычитание можно организовать следующим образом. Источники операндов R=A, S=B (001 в 4-й тетраде). Функция АЛУ: R S 1+Cп. Чтобы скомпенсировать вычитание единицы, записываем Сп=1. Таким образом, мы вычитаем из числа по адресу А число по адресу В.

В адресе 4 программы указываем только команду 1101 (в 6-й тетраде) – переход по флагу, а в 7-й тетраде указываем адрес 110 (6) – переход на адрес 6, если ∆1<0. Далее цикл повторяется для следующей пары чисел. В результате по адресу 4 ячейки памяти будет помещено наибольшее число из трех чисел.

Таблица 9

Нахождение наибольшего из трех чисел

Адрес

программы

Нахождение наибольшего из трех чисел

Адрес ячейки памяти, в которую загружается результат

0

Загрузить а1

0

1

Загрузить а2

1

2

Загрузить а3

2

3

∆1=а1 а2; нет загрузки

4

Если ∆1<0 (а12), то переход по флагу F3

5

Если ∆1>0 (а12), то загрузка а1 по адресу 3

3

6

Если ∆1<0 (а12), то загрузка а1 по адресу 3

3

7

Чтение по адресу 3

8

∆2=а3 (данные по адресу 3); нет загрузки

нет загрузки

9

Если ∆2<0, то переход по фла гу F3

1 0

Если ∆2>0, то загрузить а3 по адресу 4

4

11

Если ∆2<0, то загрузить число из ячейки памяти 3 по адресу 4

4

12

Чтение по адресу 4

13

Возврат в начало