Skip to main content
EDU-MMCS
  • English ‎(en)‎
    Русский ‎(ru)‎ English ‎(en)‎
You are currently using guest access (Log in)

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

  1. Home
  2. Courses
  3. Осенний семестр
  4. Прикладная математика и информатика
  5. AM CA&OS
  6. Материалы лабораторных работ
  7. Лабораторная №2. Массивы. Условные и безусловные п...

Лабораторная №2. Массивы. Условные и безусловные переходы. [4 балла]

Completion requirements
Opened: Wednesday, 10 September 2025, 8:00 AM
Due: Friday, 19 September 2025, 1:30 PM

Задания 

Задача [task-1.s]. [1 балл] Напишите программу которая суммирует все элементы массива. Результат остаётся в регистре AX. Очень рекомендуется для косвенной адресации к элементам массива использовать один из регистров:SI, DI.

Задача [task-2.s].  [1,5 балла] Напишите программу, которая суммирует все нечётные числа массива. Для проверки чётности используйте деление на 2 с помощью SHR: проследите, какой флаг может взводится этой командой в случае нечётных или чётных чисел и найдите в таблице инструкцию J**, которая анализирует именно этот флаг. Картинка, где показано расположение флагов в окне t88, поможет вам понять, за какой частью окна отладчика нужно следить при выполнении SHR. Решение этой задачи удобно писать на основе решения task-2.s.

Задача [task-3.s].  [1,5 балл] Напишите программу, которая отдельно суммирует все числа массива, больше K, где K — переменная, заданная в секции данных, и отдельно суммирует числа, меньшие K. Первый и второй результаты в конце программы должны находиться в AX и BX соответственно. Указание: выполнять на основе решения task-2.s.

Дополнительное задание [1 балл]

Выше отмечалось, что инструкции J** аналогичны LOOP. Легко заметить, что с помощью инструкций J** тоже можно организовывать циклы. На самом деле, промышленные компиляторы практически никогда не генерируют инструкцию LOOP для организации цикла, а всегда обходятся J**. Это связано с тем, что LOOP занимает один регистр (CX) и использует его строго определённым образом, что не слишком удобно для большинства задач. В таком случае этот регистр просто «потерян» для программиста (или компилятора). Замена LOOP на J** позволяет избежать этого и более эффективно использовать имеющиеся регистры.

Задача [task-4.s]. Напишите программу, которая вычисляет значение выражения 8 x4 – x % 3 для x = 2, 3, 4 и последовательно записывает в массив res (в секции неинициализированных данных). Указания. Не использовать LOOP. Выбрать регистр для хранения очередного значения x и делать переход J** к началу тела цикла пока значение этого регистра меньше или равно 4. Для умножения на 8 используйте битовый сдвиг влево SHL: для сдвига на 2 и более (до 15) величину сдвига следует передавать в регистре CL (нижняя половинка регистра CX), чтобы загрузить в CL двойку, следует использовать инструкцию MOVB (B от byte).


  • jmp.png jmp.png
    10 November 2022, 1:25 PM
◄ Лабораторная №1. Введение. Арифметика. Циклы LOOP.[4 балла]
Лабораторная №3. Интерфейс системных вызовов. Простейшие подпрограммы. [4 балла] ►
Skip Navigation
Navigation
  • Home

    • Site pages

      • My courses

      • Tags

    • My courses

    • Courses

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

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

          • ОАиП ПМИ2

          • УМФ 1-3 2025

          • ИПМИ-3

          • P2K

          • ИИ (4 курс)

          • ЧМ-2022 (ПМИ-3 4 и 5)

          • GrAlg

          • МО (бак)

          • ANSYS

          • Численные методы -1,3

          • МСС 2022

          • AM CA&OS

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

            • Материалы лекций

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

              • PageПодготовка №1. Установка ПО.

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

              • PageПодготовка №2. Массивы. Условные и безусловные пер...

              • AssignmentЛабораторная №2. Массивы. Условные и безусловные п...

              • AssignmentПодготовка №3. Интерфейс системных вызовов. Просте...

              • AssignmentЛабораторная №3. Интерфейс системных вызовов. Прос...

              • AssignmentПодготовка №4. Подпрограммы (продолжение)

              • AssignmentЛабораторная №4. Подпрограммы. [4 балла]

              • AssignmentПодготовка №5. Работа с файлами

              • AssignmentЛабораторная №5. Работа с файлами. [5 баллов]

              • AssignmentПодготовка №6. Микропрограммирование

              • FileIJVM Assembly Language Specification

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

              • AssignmentЛабораторная №6. Микропрограммирование [4 балла]

              • AssignmentЛабораторная №7. Микропрограммирование (продолжени...

              • AssignmentПодготовка №8. Утилиты POSIX

              • AssignmentЛабораторная №8. Утилиты POSIX [4 балла]

              • AssignmentПодготовка №9: написание сценариев

              • AssignmentЛабораторная №9. Написание сценариев [5 балла]

              • AssignmentПодготовка №10: создание потоков

              • AssignmentЛабораторная №10: создание потоков [7 баллов]

              • AssignmentПодготовка №11: разделяемая память

              • AssignmentЛабораторная №11: разделяемая память [7 баллов]

              • AssignmentПодготовка №12: работа с каналами

              • AssignmentЛабораторная №12. Работа с каналами [7 баллов]

            • Контрольные работы

            • Доборы

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

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

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

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

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

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

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

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

        • Другое

        • Экзамен ИКТ

        • ТестИИ

        • Информатика-Осень-ПМИ-2

        • Информатика-осень-ПМИ-1

        • ИММвс

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

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

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

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

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

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

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

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

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

        • Другое

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

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

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

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

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

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

        • Архив

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

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

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

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

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

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

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

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

        • ВМШ

          • ВМШ -2025

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

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

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

      • Олимпиады

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

      • Разное

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

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

You are currently using guest access (Log in)
AM CA&OS
  • English ‎(en)‎
    • Русский ‎(ru)‎
    • English ‎(en)‎
Data retention summary
Get the mobile app Яндекс.Метрика