zadanie_1_spo_2020 (Задание 1)

2021-09-20СтудИзба

Описание файла

Документ из архива "Задание 1", который расположен в категории "". Всё это находится в предмете "системное программное обеспечение (спо)" из 5 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .

Онлайн просмотр документа "zadanie_1_spo_2020"

Текст из документа "zadanie_1_spo_2020"

ОБЩАЯ ФОРМУЛИРОВКА ВОЗМОЖНЫХ ТИПОВ ИНД. ЗАДАНИЙ в рамках 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) из второго результата в виде числа вычесть первый результат также в виде числа; если первое число окажется больше второго, то умножить второе число в три раза.

Таблица Б – Параметры используемых переменных в рамках заданий типа «Б»

Числа x, y, z, t, q

Конечный результат вывести

Требуемые действия

Размер, байт

Расположение в памяти

Адресация

1

«1» – внутреннее ОЗУ

«1» – прямая

«1» – на выводы портов микроконтроллера (Px – Px+1), например, P0-P1 (ст.-мл.)

2

«2» – во внешнем ОЗУ*

«2» – косвенная

«2» – в регистры внутреннего ОЗУ банка регистров (Rx+1 – Rx), например, R2-R1 (ст.-мл.), используется банк регистров № 0

4

«3» – -//-, используется банк регистров № 1

«4» – -//-, используется банк регистров № 2

«5» – -//-, используется банк регистров № 3

«6» – в регистры-аккумуляторы А и В (ст.-мл.)

«7» – в регистр DPTR

* — выбранный вами контроллер должен иметь «встроенную» на кристалле микросхемы память класса XDATA, внешнюю по отношению к памяти ядра контроллера

Пример записи варианта задания:

Б-2-1-2-1-[1,4,10]

Расшифровка: задание типа «Б» – используемые числа беззнаковые двубайтные, расположены во внутреннем ОЗУ, для доступа к ним применяется косвенная адресация; конечный результат выводится в порты Р0-Р1 (ст.-мл.); требуемые действия над результатами f1, f2, f3 соотв. п.п. 1, 4, 10.

В. Закодируйте на ассемблере подпрограмму или макрокоманду (в зависимости от варианта) в соответствии со следующими требованиями. Протестируйте полученную программу.

1) Вычитание с переносом любых двух регистров внутреннего ОЗУ МК-51. Результат поместить в регистр, указанный вторым параметром макроса.

2) Возведение беззнакового целочисленного числа в степень (беззнаковое целочисленное однобайтовое значение). Данные находятся в регистрах внутреннего ОЗУ МК-51 и передаются как параметры макроса или подпрограммы (функции). Результат – 2-байтное число, размещенное в регистрах, указанных в параметрах.

Примечание: в целях упрощения реализации программы и предотвращения переполнения результата возведения в степень рекомендуется в качестве примера выбирать значение степени не более 2-3.

3) Умножение 2-байтовых беззнаковых целых чисел, косвенно адресуемых во внутреннем ОЗУ МК-51. Результат – 4-байтное число.

4) Проверка на равенство 4-байтовых беззнаковых целых чисел, косвенно адресуемых во внутреннем ОЗУ МК-51.

5) Сложение 2-байтовых знаковых целых чисел, прямо адресуемых во внутреннем ОЗУ МК-51. Исходные числа представлены в дополнительном коде. Результат – 4-байтное число.

6) Вычитание 2-байтовых знаковых целых чисел, прямо адресуемых во внутреннем ОЗУ МК-51. Числа представлены в дополнительном коде.

7) Сложение любых двух регистров внутреннего ОЗУ МК-51. Результат поместить в регистр, указанный первым параметром макроса или подпрограммы.

8) Вычитание без переноса любых двух регистров внутреннего ОЗУ МК-51. Результат поместить в регистр, указанный первым параметром макроса или подпрограммы.

9) Умножение любых двух регистров внутреннего ОЗУ МК-51. Результат поместить в регистр, указанный первым параметром макроса или подпрограммы.

10) Деление любых двух регистров внутреннего ОЗУ МК-51. Результат поместить в регистр, указанный первым параметром макроса или подпрограммы.

11) Сложение 2-байтовых беззнаковых целых чисел, косвенно адресуемых во внутреннем ОЗУ МК-51.

12) Вычитание 2-байтовых беззнаковых целых чисел, косвенно адресуемых во внутреннем ОЗУ МК-51.

13) Умножение 2-байтовых беззнаковых целых чисел, косвенно адресуемых во внутреннем ОЗУ МК-51.

14) Деление 2-байтовых беззнаковых целых чисел, косвенно адресуемых во внутреннем ОЗУ МК-51.

15) Сравнение 2-байтовых беззнаковых целых чисел, косвенно адресуемых во внутреннем ОЗУ МК-51.

16) Умножение 2-байтовых знаковых целых чисел, прямо адресуемых во внутреннем ОЗУ МК-51. Числа представлены в дополнительном коде. Результат – 2-байтное число.

17) Умножение 2-байтовых знаковых целых чисел, прямо адресуемых во внутреннем ОЗУ МК-51. Числа представлены в дополнительном коде. Результат – 4-байтное число.

18) Сравнение 2-байтовых знаковых целых чисел, прямо адресуемых во внутреннем ОЗУ МК-51. Числа представлены в дополнительном коде.

19) Арифметический сдвиг вправо 2-байтовой переменной, образованной любыми ячейками внутреннего ОЗУ МК-51. Параметры макро­команды или функции: N — число сдвигов; Argl, Arg2 — ячейки/регистры внутреннего ОЗУ МК-51.

20) Логический сдвиг вправо 2-байтовой переменной, образованной любыми ячейками внутреннего ОЗУ МК-51. Параметры макро­команды или функции: N — число сдвигов; Argl, Arg2 — ячейки/регистры внутреннего ОЗУ МК-51.

21) Логический сдвиг влево 2-байтовой переменной, образованной любыми ячейками внутреннего ОЗУ МК-51. Параметры макро­команды или функции: N — число сдвигов; Argl, Arg2 — ячейки/регистры внутреннего ОЗУ МК51.

22) Логический сдвиг вправо 2-байтовой переменной, образованной любыми ячейками внутреннего ОЗУ МК-51. Параметры макро­команды или функции: N — число сдвигов; Argl, Arg2 — ячейки/регистры внутреннего ОЗУ МК-51.

23) Сложение любых двух ячеек памяти внутреннего ОЗУ МК-51, косвенно адресуемых. Результат поместить в ячейку, указанную вторым параметром макроса или функции.

ВНИМАНИЮ всех студентов! Обязательно посмотрите дополнительный материал в виде презентации по представлению чисел в цифровых электронно-вычислительных устройствах, в частности микроконтроллерах.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее