4.1. Лабораторная работа №1. Простые вычисления Написать на языке ассемблера микропроцессора КР580ВМ80А программу, реализующую вычисления по заданному арифметическому выражению (табл. 8). Оттранслировать программу в машинные коды и выполнить ее отладку на УОУ “Электроника-580”. Значения исходных переменных Х и Y (для выполнения контрольного примера) в таблице заданий представлены в десятичной форме, перед выполнением программы они размещаются в ОЗУ по указанным в шестнадцатеричной форме адресам. Результат выполнения программы Z также заносится в ОЗУ по указанному адресу.
Отчет по лабораторной работе должен содержать:
номер заданного варианта и его исходные данные; алгоритм программы; текст программы на языке ассемблера; текст программы в машинных кодах (результаты трансляции); результаты выполнения контрольного примера (в шестнадцатеричной и десятичной форме).
Пример составления аналогичной вычислительной программы представлен ниже (пример №1).
4.2. Лабораторная работа №2. Управление индикацией Написать на языке ассемблера микропроцессора КР580ВМ80А программу, осуществляющую вывод на 1 и 2 индикаторы (крайние левые) учебно-отладочного устройства “Электроника-580“ заданной бесконечной последовательности шестнадцатеричных цифр (табл. 9). Вывод значений должен выполняться с заданной периодичностью. Оттранслировать программу в машинные коды и выполнить ее отладку.
Отчет по лабораторной работе должен содержать:
номер заданного варианта и его исходные данные; алгоритм программы; текст программы на языке ассемблера; текст программы в машинных кодах (результаты трансляции).
Пример составления аналогичной программы по управлению индикаторами представлен ниже (пример №2).
4.3. Лабораторная работа №3. Объединение программ Преобразовать программы, созданные в процессе выполнения лабораторных работ №1 и №2 в единую программу, совмещающую функции ранее разработанных программ, а именно: Табл. 8. Варианты заданий к лабораторной работе №1
Вар.
| Функция
| А(10)
| В(10)
| C(10)
| X1(10)
| X2(10)
| Y1,2(10)
| Адр.X(16)
| Адр.Y(16)
| Адр. Z(16)
| 1
|
Z=max{|A*X-Y+B|, C}
| 3
| 23
| 77
| -40
| 11
| -30
| 8300
| 8301
| 8301
| 2
| 4
| 17
| 62
| -31
| 5
| -20
| 8300
| 8301
| 8302
| 3
| 5
| 31
| 84
| -22
| 9
| -25
| 8301
| 8300
| 8300
| 4
|
Z=min{(|A*X-Y|+B), C}
| 3
| 14
| 58
| -16
| 21
| -24
| 8301
| 8300
| 8301
| 5
| 4
| 19
| 79
| -24
| 6
| -32
| 8301
| 8300
| 8302
| 6
| 5
| 9
| 93
| -11
| 16
| -17
| 8300
| 8301
| 8300
| 7
|
Z=max{|A*X-B|, (Y+C)}
| 3
| 33
| 100
| -18
| 29
| -41
| 8300
| 8301
| 8301
| 8
| 4
| 10
| 81
| -12
| 25
| -15
| 8300
| 8301
| 8302
| 9
| 5
| 21
| 119
| -14
| 23
| -27
| 8301
| 8300
| 8300
| 10
|
Z=min{(A*|X|-B), (Y+C)}
| 3
| 49
| 50
| -35
| 3
| -80
| 8301
| 8300
| 8301
| 11
| 4
| 55
| 64
| -10
| 26
| -67
| 8301
| 8300
| 8302
| 12
| 5
| 60
| 104
| -23
| 10
| -71
| 8300
| 8301
| 8300
| 13
|
Z=max{A*(|X-B|+Y), C}
| 3
| 65
| 44
| -9
| 32
| -57
| 8300
| 8301
| 8301
| 14
| 4
| 16
| 27
| -13
| 24
| -22
| 8300
| 8301
| 8302
| 15
| 5
| 50
| 99
| -29
| 85
| -59
| 8301
| 8300
| 8300
| 16
|
Z=min{A*(|X-Y|+B), C}
| 3
| 17
| 105
| -38
| 2
| -21
| 8301
| 8300
| 8301
| 17
| 4
| 1
| 82
| -28
| 11
| -9
| 8301
| 8300
| 8302
| 18
| 5
| 7
| 96
| -13
| 12
| -5
| 8300
| 8301
| 8300
| 19
|
Z=max{A*|X-B|, (Y+C)}
| 3
| 22
| 91
| -4
| 34
| -43
| 8300
| 8301
| 8301
| 20
| 4
| 8
| 69
| -7
| 37
| -2
| 8300
| 8301
| 8302
| 21
| 5
| 13
| 83
| -6
| 14
| -32
| 8301
| 8300
| 8300
| 22
|
Z=min{A*(|X|-B), (Y+C)}
| 3
| 37
| 54
| -46
| 20
| -66
| 8301
| 8300
| 8301
| 23
| 4
| 48
| 74
| -38
| 63
| -85
| 8301
| 8300
| 8302
| 24
| 5
| 61
| 109
| -70
| 72
| -60
| 8300
| 8301
| 8300
| 25
|
Z=max{A*|X+Y-B|, C}
| 3
| 20
| 70
| -15
| 41
| -6
| 8300
| 8301
| 8301
| 26
| 4
| 18
| 110
| -1
| 52
| -11
| 8300
| 8301
| 8302
| 27
| 5
| 15
| 90
| -7
| 24
| -3
| 8301
| 8300
| 8300
| 28
|
Z=min{A*(|X|+Y-B), C}
| 3
| 34
| 13
| -53
| 61
| -19
| 8301
| 8300
| 8301
| 29
| 4
| 26
| 68
| -79
| 71
| -31
| 8301
| 8300
| 8302
| 30
| 5
| 11
| 35
| -52
| 66
| -42
| 8300
| 8301
| 8300
| Табл. 9. Варианты заданий к лабораторной работе №2
Вар.
| Последовательность изменения цифр на индикаторах
| t, c
| 1
| 01, 23, 45, 67, …, CD, EF, 01, 23, …
| 0,4
| 2
| FE, DC, BA, 98, …, 32, 10, FE, DC, …
| 0,45
| 3
| 01, 12, 23, 34, …, DE, EF, F0, 01, 12, …
| 0,5
| 4
| FE, ED, DC, CB, …, 21, 10, 0F, FE, ED, …
| 0,55
| 5
| 08, 19, 2A, 3B, …, 6E, 7F, 08, 19, …
| 0,6
| 6
| 7F, 6E, 5D, 4C, …, 19, 08, 7F, 6E, …
| 0,65
| 7
| 00, 11, 22, 33, …, EE, FF, 00, 11, …
| 0,7
| 8
| FF, EE, DD, CC, …, 11, 00, FF, EE, …
| 0,75
| 9
| 0_, _1, 2_, _3, 4_, _5, …, C_, _D, E_, _F, 0_, _1, 2_, _3, …
| 0,4
| 10
| F_, _E, D_, _C, B_, _A, …, 3_, _2, 1_, _0, F_, _E, D_, _C, …
| 0,45
| 11
| _0, _1, _2, …, _6, _7, 8_, 9_, A_, …, E_, F_, _0, _1, _2, …
| 0,5
| 12
| _F, _E, _D, …, _9, _8, 7_, 6_, 5_, …, 1_, 0_, _F, _E, _D, …
| 0,55
| 13
| _0, _1, _2, …, _E, _F, 0_, 1_, 2_, …, E_, F_, _0, _1, _2, …
| 0,6
| 14
| _F, _E, _D, …, _1, _0, F_, E_, D_, …, 1_, 0_, _F, _E, _D, …
| 0,65
| 15
| 0_, 1_, 2_, 3_, _4, _5, _6, _7, 8_, …, B_, _C, …, _F, 0_, 1_, …
| 0,7
| 16
| F_, E_, D_, C_, _B, _A, _9, _8, 7_, …, 4_, _3, …, _0, F_, E_, …
| 0,75
| 17
| 00, FF, 11, EE, 22, DD, …, EE, 11, FF, 00, 00, FF, 11, EE, …
| 0,8
| 18
| 0F, 1E, 2D, 3C, …, E1, F0, 0F, 1E, …
| 0,85
| 19
| 01, FE, 23, DC, 45, BA, …CD, 32, EF, 10, 01, FE, 23, DC, …
| 0,9
| 20
| 0_, 1_, _F, _E, 2_, 3_, _D, _C, …, E_, F_, _1, _0, 0_, 1_, _F, _E, …
| 0,95
| 21
| 0_, 1_, 2_, …, D_, E_, F_, _F, _E, _D, …, _2, _1, _0, 0_, 1_, 2_, …
| 1,0
| 22
| 0_, _1, 2_, _3, …, E_, _F, F_, _E, D_, _C, …, 1_, _0, 0_, _1, 2_, …
| 1,05
| 23
| 00, 01, 11, 12, 22, 23, 33, …, EE, EF, FF, F0, 00, 01, 11, 12, 22, …
| 1,1
| 24
| FF, EF, EE, DE, DD, CD, CC, …, 11, 01, 00, F0, FF, EF, EE, …
| 1,15
| 25
| 00, 01, 02, 03, …, 0E, 0F, 1F, 2F, 3F, …, DF, EF, FF, 00, 01, 02, …
| 1,2
| 26
| FF, EF, DF, CF, …, 1F, 0F, 0E, 0D, 0C, …, 02, 01, 00, FF, EF, …
| 1,25
| 27
| 00, 01, 02, 03, 14, 15, 16, 17, 28, …, 2B, 3C, …, 3F, 00, 01, 02, …
| 1,3
| 28
| FF, EF, DF, CF, BE, AE, 9E, 8E, 7D, …, 4D, 3C, …, 0C, FF, EF, …
| 1,35
| 29
| 00, 01, 02, 03, 44, 45, 46, 47, 88, …, 8B, CC, …, CF, 00, 01, 02, …
| 1,4
| 30
| FF, EF, DF, CF, BB, AB, 9B, 8B, 77, …, 47, 33, …, 03, FF, EF, …
| 1,45
|
Табл. 10. Варианты заданий к лабораторной работе №4
Вар.
| Содержание программы
| 1
| Перевод 8-битного числа из двоично-десятичного кода в двоичную систему счисления с выводом на индикацию
| 2
| Перевод 8-битного числа из двоичного вида в двоично-десятичный код с выводом на индикацию
| 3
| Перевод 16-битного числа из двоично-десятичного кода в двоичную систему счисления
| 4
| Перевод 16-битного числа из двоичного вида в двоично-десятичный код
| 5
| Сложение 24-битных чисел с выводом на индикацию
| 6
| Вычитание 24-битных чисел с выводом на индикацию
| 7
| Сложение 48-битных чисел
| 8
| Вычитание 48-битных чисел
| 9
| Сложение 16-битных чисел в двоично-десятичном коде с выводом на индикацию
| 10
| Сложение 24-битных чисел в двоично-десятичном коде
| 11
| Суммирование массива 8-битных чисел из N элементов (N – 8-битное число) с выводом на индикацию
| 12
| Суммирование массива 16-битных чисел из N элементов (N – 8-битное число)
| 13
| Подсчет количества нечетных 8-битных чисел в массиве из 16 элементов с выводом на индикацию
| 14
| Подсчет количества нечетных 8-битных чисел в массиве из N элементов (N – 8-битное число)
| 15
| Подсчет количества 8-битных чисел, кратных 8, в массиве из 16 элементов с выводом на индикацию
| 16
| Подсчет количества 8-битных чисел, кратных 8, в массиве из N элементов (N – 8-битное число)
| 17
| Подсчет количества 8-битных чисел в массиве из 16 элементов, попадающих в заданный диапазон, с выводом на индикацию
| 18
| Подсчет количества 8-битных чисел в массиве из N элементов (N – 8-битное число), попадающих в заданный диапазон
| 19
| Определение диапазона значений 8-битных чисел в массиве из 16 элементов с выводом на индикацию
| 20
| Определение диапазона значений 8-битных чисел в массиве из N элементов (N – 8-битное число)
| 21
| Упорядочение 8-битных чисел в массиве из 16 элементов в порядке возрастания с выводом максимального числа на индикацию
| 22
| Упорядочение 8-битных чисел в массиве из N элементов (N – 8-битное число) в порядке возрастания
| 23
| Упорядочение 8-битных чисел в массиве из 16 элементов в порядке убывания с выводом минимального числа на индикацию
| 24
| Упорядочение 8-битных чисел в массиве из N элементов (N – 8-битное число) в порядке убывания
| 25
| Поиск 8-битного числа в массиве из 16 элементов по заданному значению и определение его адреса с выводом на индикацию
| 26
| Поиск 8-битного числа в массиве из N элементов (N – 8-битное число) по заданному значению и определение его адреса
| 27
| Подсчет количества ненулевых бит в 8-битном коде с выводом на индикацию
| 28
| Подсчет количества ненулевых бит в 16-битном коде
| 29
| Имитация дешифратора: преобразование 3-битного двоичного кода в унитарный 8-битный с выводом на индикацию
| 30
| Имитация дешифратора: преобразование 4-битного двоичного кода в унитарный 16-битный
| реализующую вычисления по заданному арифметическому выражение, причем исходные данные Х и Y, а также результат вычислений Z должны выводиться в шестнадцатеричной форме соответственно на 3-4, 5-6 и 7-8 индикаторы учебно-отладочного устройства “Электроника-580”; осуществляющую вывод на 1-2 индикаторы учебно-отладочного устройства “Электроника-580” заданной последовательности шестнадцатеричных цифр (с заданной периодичностью).
Отчет по лабораторной работе должен содержать:
номер заданного варианта и его исходные данные; алгоритм программы; текст программы на языке ассемблера; текст программы в машинных кодах (результаты трансляции).
Рекомендации по построению подобной объединенной программы приведены ниже (пример №3).
|