Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

CS221. Архитектура компьютера и операционные системы

  1. В начало
  2. Курсы
  3. Осенний семестр
  4. Фундаментальная информатика и ИТ
  5. CS221 CA&OS
  6. Материалы лабораторных работ
  7. Лаб. Занятие 2. Обязательные задания для решения в...

Лаб. Занятие 2. Обязательные задания для решения в классе.

Требуемые условия завершения
Открыто с: понедельник, 9 сентября 2024, 08:00
Срок сдачи: пятница, 13 сентября 2024, 13:30

Лаб. Занятие 2. Обязательная задача [2 балла]

Следует разместить в Moodle решение одной из перечисленных ниже задач (по выбору преподавателя)

[21.s]. Напишите программу которая считает число неотрицательных  элементов массива. Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). Результат (количество  элементов) остаётся в регистре AX. Для косвенной адресации к элементам массива использовать один из регистров:SI, DI. 

[22.s]. Напишите программу, которая суммирует все числа массива, кратные 4.  Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). Результат (сумма элементов) должен остаться в регистре AX. Для проверки кратности 4 используйте SHR

[23.s]. Напишите программу, которая подсчитывает число нечётных значений в массиве. Для проверки чётности используйте деление на 2 с помощью SHR.  Результат (количество элементов) остаётся в регистре AX.  Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки).  

[24.s]. Напишите программу, которая отдельно суммирует все числа  положительные элементы массива и отдельно суммирует отрицательные. Первый и второй результат в конце программы должны находиться в AX и BX соответственно. Массив задан в сегменте данных (подобно тому, как было описано в первой части материалов для подготовки). 

[25.s]. Напишите программу, которая вычисляет значение выражения 4x2 – x / 2 + 4 для первых четырех членов геометрической прогрессии с начальным значением x = 4 и шагом 2 и последовательно записывает в массив res (в секции неинициализированных данных). Указания. Не использовать LOOP.  Для умножения на 4 и деления на 2 используйте битовый сдвиг. 

[26.s] Напишите программу, которая находит максимум среди отрицательных элементов  заданного массива. Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). Значение максимального элемента  в конце программы должно находиться в регистре  AX.

[27.s]. Напишите программу которая считает количество ненулевых элементов массива. Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). Результат (количество  элементов) остаётся в регистре AX. Для косвенной адресации к элементам массива использовать один из регистров:SI, DI. 

[28.s]  Напишите программу для нахождения номера первого элемента массива кратного пяти. Результат (искомый номер)  в конце программы должен остаться в регистре AX. Массив задан в сегменте данных (подобно тому, как было описано в первой части материалов для подготовки).

[29.s]. Напишите программу, которая вычисляет значение выражения x2 – x % 5 + 6 для первых пяти  членов арифметической прогрессии с начальным значением x = 2 и шагом 3 и последовательно записывает в массив res (в секции неинициализированных данных). Указания. Не использовать LOOP.  

[2a.s]. Напишите программу которая суммирует положительные элементы массива. Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). Результат (сумма положительных элементов) в конце программы остаётся в регистре AX. Для косвенной адресации к элементам массива использовать один из регистров:SI, DI. 

[2b.s]. Напишите программу, которая суммирует все числа массива, кратные N, где N = 5 — переменная, заданная в секции данных.  Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). Указание: обращаться в память по метке N на каждом шаге цикла неэффективно, перед началом цикла загрузите значение N в один из свободных регистров. Результат (сумма элементов) должен остаться в регистре AX.

[2c.s]. Напишите программу, которая суммирует все нечётные значения массива. Для проверки чётности используйте деление на 2 с помощью SHR.  Результат (сумма элементов) остаётся в регистре AX.  Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки).  

[2d.s]. Напишите программу, которая отдельно суммирует все числа массива, кратные N, где N = 7 — переменная, заданная в секции данных, и отдельно суммирует числа, не кратные N. Первый и второй результат в конце программы должны находиться в AX и BX соответственно. Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). 

[2e.s]. Напишите программу, которая вычисляет значение выражения 8x2 – x % 3 для первых пяти членов арифметической прогрессии с начальным значением x = 4 и шагом 2 и последовательно записывает в массив res (в секции неинициализированных данных). Указания. Не использовать LOOP.  Для умножения на 8 используйте битовый сдвиг. 

[2f.s] Напишите программу, которая находит максимум в заданном массиве. Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). Значение максимального элемента  в конце программы должно находиться в регистре  AX.

[2g.s]. Напишите программу которая считает количество положительных элементов массива. Массив задан в сегменте данных (подобно тому, как было описано в первой части материалов для подготовки). Результат (количество положительных элементов) остаётся в регистре AX. Для косвенной адресации к элементам массива использовать один из регистров:SI, DI. 

[2h.s]  Напишите программу для нахождения номера первого элемента массива кратного восьми. Для определенности будем считать, что нумерация начинается с нуля. Для выяснения делимости на 8 воспользуйтесь операцией  побитового сдвига. Результат (искомый номер)  в конце программы должен остаться в регистре AX. Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки).

[2i.s]. Напишите программу которая считает количество отрицательных  элементов массива. Массив задан в сегменте данных (подобно тому, как было описано в первой части  материалов для подготовки). Результат (число элементов) остаётся в регистре AX. Для косвенной адресации к элементам массива использовать один из регистров:SI, DI. 

◄ Форум для обсуждения курса
Лаб. Занятие 3. Обязательные задания для решения в классе. ►
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

          • Compiler Development

          • CMVSM

          • АЗПК

          • Frontend

          • ТеорЯП

          • Ruby Eng

          • EngCA&OS

          • CS201e

          • Компиляторы - лекции

          • CS202

          • CS211 C++ ENG

          • CS221 CA&OS

            • Общая информация

            • Материалы лабораторных работ

              • ЗаданиеЛаб. Занятие 1. Введение. Арифметика. Циклы LOOP

              • ЗаданиеЛаб. Занятие 2. Подготовка. Массивы. Условные и бе...

              • ЗаданиеЛаб. Занятие 2. Обязательные задания для решения в...

              • ЗаданиеЛаб. Занятие 3. Подготовка. Интерфейс системных вы...

              • ЗаданиеЛаб. Занятие 3. Обязательные задания для решения в...

              • СтраницаЛаб. Занятие 4. Подготовка. Подпрограммы (продолже...

              • ЗаданиеЛаб. Занятие 4. Обязательные задания для решения в...

              • ЗаданиеЛаб. Занятие 5. Подготовка. Работа с файлами

              • ЗаданиеЛаб. Занятие 5. Обязательные задания для решения в...

              • СтраницаЛаб. Занятие 6. Подготовка. Цепочечные инструкции

              • ЗаданиеЛаб. Занятие 6. Обязательные задания для решения в...

              • СтраницаЛаб. Занятие 7. Подготовка. Микропрограммирование

              • ФайлIJVM Assembly Language Specification

              • ФайлСправочник ассемблерных инструкций Java-машины

              • ЗаданиеЛаб. Занятие 7.1. Обязательные задания для решения...

              • ЗаданиеЛаб. Занятие 7.2. Обязательные задания для решения...

              • СтраницаЛаб. Занятие 8. Подготовка. Основы работы в UNIX-п...

              • ЗаданиеЛаб. Занятие 8. Обязательные задания для решения в...

              • СтраницаЛаб. Занятие 9. Подготовка. Написание сценариев

              • ЗаданиеЛаб. Занятие 9. Обязательные задания для решения в...

              • СтраницаЛаб. Занятие 10. Подготовка. Многопоточность

              • ЗаданиеЛаб. Занятие 10. Обязательные задания для решения ...

              • СтраницаЛаб. Занятие 11. Подготовка. Разделяемая память

              • ЗаданиеЛаб. Занятие 11. Обязательные задания для решения ...

              • СтраницаЛаб. Занятие 12. Подготовка. Работа с каналами

              • ЗаданиеЛаб. Занятие 12. Обязательные задания для решения ...

              • СтраницаЛаб. Занятие 13. Подготовка. Синхронизация потоков

              • ЗаданиеЛаб. Занятие 13. Обязательные задания для решения ...

              • ЗаданиеЛаб. Занятие 14. Обязательные задания для решения ...

            • Тестирование

            • Дистрибутивы и справочная информация

            • Доборы

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ - 24

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Служба поддержки сайта
Вы используете гостевой доступ (Вход)
CS221 CA&OS
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика