Курсовая работа: Задание 1
Описание
ОБЩАЯ ФОРМУЛИРОВКА ВОЗМОЖНЫХ ТИПОВ ИНД. ЗАДАНИЙ в рамках 2-ой части курса «Системное программное обеспечение» (СПО ИДДО)
(конечный перечень актуальных вариантов задач приводится в отдельном файле)
А. Реализуйте на ассемблере программу, выполняющую следующие действия над набором целых чисел A[i], имеющих следующие параметры (см. Таблицу А), где i – порядковый номер числа в наборе, и операндами B и C; результат поместить в A[i]:
1) выполните логическую операцию «НЕ»: ¬A[i]
2) выполните логическую операцию «И»: A[i] & B
3) выполните логическую операцию «ИЛИ»: A[i] v B
4) выполните логическую операцию «сложение по модулю 2»: (A[i] + B)
5) выполните логическую операцию «стрелка Пирса»: A[i] ↑ B
6) выполните логическую операцию «штрих Шеффера»: A[i] / B
7) выполните логическую операцию «эквивалентность»: A[i] ≡ B
8) выполните операцию арифметического сложения: A[i] + B
9) выполните операцию арифметического вычитания: A[i] - B
10) выполните операцию арифметического умножения: A[i] · С
10) выполните операцию арифметического деления: A[i] / С
Рекомендуется соблюдать порядок выполнения указанных действий, обозначенных в конечном варианте задания. Все исходные числа представлены в дополнительном коде.
Таблица А – Параметры используемых переменных в рамках заданий типа «А»
Набор A | Операнд B | Операнд C | Требуемые действия | ||||
Кол-во элементов | Знаковое | Размер числа, байт | Расположение в памяти | Адресация | |||
| «1» – да | 1 | «1» – внутреннее ОЗУ | «1» – прямая | «0» – отсутствует |
| |
| «0» – нет | 2 | «2» – во внешнем ОЗУ* | «2» – косвенная | «1» – целое беззнаковое 2-байтовое число |
| |
|
| 4 |
|
| «2» – целое беззнаковое 1-байтовое число |
| |
|
|
|
|
| «3» – целое знаковое 2-байтовое число |
| |
|
|
|
|
| «4» – целое знаковое 1-байтовое число |
| |
* — выбранный вами контроллер должен иметь «встроенную» на кристалле микросхемы память класса XDATA, внешнюю по отношению к памяти ядра контроллера |
Пример записи варианта задания:
А-3-0-2-1-1-2-0-[2,5,8]
Расшифровка: задание типа «А» – массив A[i] с кол-вом элементов 3, числа беззнаковые двубайтные, расположены во внутреннем ОЗУ, для доступа к ним применяется прямая адресация; операнд В – целое беззнаковое однобайтное число; операнд С отсутствует; требуется выполнить лог. операции «ИЛИ», «стрелка Пирса» и арифм. операцию сложения.
Б. Закодируйте на ассемблере подпрограмму, выполняющую следующие комбинации f1, f2, f3, f4 логических и арифметических операций над целыми беззнаковыми __-байтными числами x, y, z, t, q. Аналитические выражения, описывающие соответствующие логические комбинации, предоставляются отдельно в файле с вариантами задания. Здесь используются следующие обозначения: & – конъюнкция («И»), V – дизъюнкция («ИЛИ»), → – импликация, ↑ – стрелка Пирса, / – штрих Шеффера, + – сложение по модулю 2, ≡ – эквивалентность, черта сверху – отрицание («НЕ»). Все исходные числа представлены в прямом коде. Протестируйте программу и приведите примеры.
Примечание: выражение xy или x·y означает не алгебраическое произведение, а сокращенную форму написания логической операции конъюнкции, если не указано иное. В качестве примера можно выбрать значения переменных x, y, z, t, q равными 1, 2, 3, 4, 5 соответственно.
Вместе с этим, необходимо выполнить следующие действия над результатами f1, f2, f3, f4:
1) полученный результат в виде числа сложить с x; итоговый результат должен быть представлен в виде 2-байтного числа.
2) полученный результат в виде числа сложить с y; итоговый результат должен быть представлен в виде 2-байтного числа.
3) полученный результат в виде числа сложить с z; итоговый результат должен быть представлен в виде 2-байтного числа.
4) полученный результат в виде числа сложить с t; итоговый результат должен быть представлен в виде 2-байтного числа.
5) все полученные результаты в виде чисел сложить друг с другом; итоговый результат должен быть представлен в виде 2-байтного числа.
6) из первого полученного результата в виде числа вычесть второй результат также в виде числа; итоговый результат должен быть представлен в виде 2-байтного числа.
7) из второго полученного результата в виде числа вычесть первый результат также в виде числа; итоговый результат должен быть представлен в виде 2-байтного числа.
8) сравнить полученные результаты в виде чисел; из большего числа вычесть меньшее.
сравнить полученные результаты в виде чисел; к меньшему числу добавить большее число, сбросив предварительно четыре старших разряда.
9) из первого результата в виде числа вычесть второй результат также в виде числа; если первое число окажется меньше второго, то умножить первое число в два раза;
10) из второго результата в виде числа вычесть первый результат также в виде числа; если первое число окажется больше второго, то умножить второе число в три раза.
Характеристики курсовой работы
Список файлов
