
- •Министерство образования и науки Российской Федерации
- •Инструкция по мерам безопасности и правилам поведения в компьютерном классе Общее положения:
- •Методические указания по выполнению лабораторных работ
- •Лабораторная работа № 1 Основы работы с персональным компьютером Цель
- •Задание для самостоятельной подготовки
- •Основы теории
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Задание к работе
- •Порядок выполнения работы
- •Требования к отчету
- •Задание к работе
- •Порядок выполнения работы
- •Требования к отчету
- •100.101
- •111.000
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 6.
- •Задание
- •Порядок выполнения работы
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Задания
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 9.
- •Задание
- •Задание
- •Порядоквыполненияработы
- •Требования к отчету
- •Задание
- •Порядок выполнения работы
- •Отчет о работе
- •Задание
- •Задание
- •Порядок выполнения работы (на примере)
- •Требования к отчету
- •Задание к работе
- •Порядок выполнения работы
- •Отчет о работе
- •Задание
- •Примеры выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 15
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 16
- •Задание
- •Порядок выполнения работы
- •Задания
- •Требования к отчету
- •Задание
- •Порядок выполнения работы
- •Отчет о работе
- •Задание
- •Порядок выполнения работы
- •Отчет о работе
- •Задание
- •Порядок выполнения работы
- •Отчет о работе
- •Реализация последовательных списков с использованием массивов
- •Задания
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 22.
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Требования к отчету
- •1.5 Алгоритм добавления звена к очереди.
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Требования к отчету
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Требования к отчету
- •Использование fread() и fwrite()
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 28.
- •Задание
- •Требования к отчету
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Задания к работе
- •Порядок выполнения работы
- •Задание
- •Пример выполнения задания
- •Контрольные вопросы
- •Требования к отчету
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа №33.
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Шифрование при помощи задачи о ранце
- •Популярные системы шифрования
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Требования к отчету
- •Литература
- •Internet-ресурсы
Задания
Задание 1. В соответствии с номером варианта:
1. Написать последовательность машинных команд для циклического сдвига вправо на 1 позицию результата суммирования 2 значений, хранящихся в основной памяти.
2. Написать последовательность машинных команд для логического умножения трех чисел, хранящихся в основной памяти.
3. Написать последовательность машинных команд для суммирования трех чисел, хранящихся в основной памяти.
4. Написать последовательность машинных команд для циклического сдвига вправо на 2 позиции суммы 2 чисел, хранящихся в основной памяти.
5. Написать последовательность машинных команд для логического умножения числа из основной памяти и результата операции его циклического сдвига вправо на 3 позиции.
6. Описать действия, закодированные в машинных командах: 18A3, 5056, 306E, 95F3, 8085.
7. Написать последовательность машинных команд для выполнения логического умножения (AND) двух чисел, хранящихся в основной памяти.
8. Описать действия, закодированные в машинных командах: 108D, 11B3, 30B3, 3180, B114.
9. Описать действия, выполняемые последовательностью машинных команд: 1105, 1206, 5312, A302, 3307, С000.
10. Описать действия, закодированные в машинных командах: 407E, 2835, 9028, A302, B3AD.
11. Написать последовательность машинных команд для выполнения поразрядной логической операции XOR над числом 45 и результатом логического сложения двух чисел из основной памяти.
12. Написать последовательность машинных команд для суммирования двух чисел из основной памяти.
13. Описать действия, закодированные в машинных командах: 2345, 4035, 6712, A303, 37A1.
14. Написать последовательность машинных команд для выполнения поразрядной операции XOR над числами, хранящимися в основной памяти компьютера.
15. Описать действия, выполняемые последовательностью машинных команд: 1404, 1505, 7645, B6A1, 9645.
16. Написать последовательность машинных команд для логического сложения трех чисел, хранящихся в основной памяти.
17. Описать последовательность действий, закодированных в машинных командах: 1101, 1202, 5312, 3303, C000.
18. Описать действия, закодированные в машинных командах: 7CB4, 40A4, 634E, 203A, A403.
19. Описать действия, закодированные в машинных командах: 1183, 30B3, 108B, 3180, B119.
20. Написать последовательность машинных команд для выполнения логического сложения (OR) двух чисел, хранящихся в основной памяти.
Задание 2. Составить программу сложения произвольных чисел, хранимых в основной памяти компьютера.
Порядок выполнения работы
1. Выбрать первое слагаемое из основной памяти и поместить его в регистр.
2. Выбрать второе слагаемое из основной памяти и поместить его в другой регистр.
3. Активировать сумматор, указав используемые на этапах 1 и 2 регистры в качестве входных и задав еще один регистр в качестве выходного.
4. Сохранить результат выполнения операции в основной памяти.
5. Завершить выполнение операции.
Пример выполнения программы
Рассмотрим машинный цикл, который осуществляется при выполнении программы сложения данных, хранимых в основной памяти компьютера. Эта программа извлекает из оперативной памяти два значения, вычисляет их сумму и сохраняет полученный результат в ячейке памяти.
Прежде всего, необходимо разместить программу в памяти. Предположим, что в нашем примере она хранится в следующих друг за другом ячейках памяти, адреса которых начинаются с шестнадцатеричного числа А0. При таком размещении программы в памяти начать ее выполнение можно, поместив адрес (А0) первой команды в счетчик команд и запустив машину (рис. 3).
Рисунок 3 – Программа, хранящаяся в памяти и готовая к выполнению
Устройство управления начинает шаг выбора машинного цикла, извлекая команду из ячейки памяти с адресом А0 и помещая эту команду (156С) в регистр команд (Рисунок 4, а). Обратите внимание на то, что в нашей машине команда имеет длину 16 битов (2 байта), поэтому выбранная команда размещается в ячейках памяти с адресами А0 и А1. Устройство управления учитывает этот факт извлекает содержимое обеих ячеек и помещает этот код в регистр команд, который имеет длину, равную 16 битам. Затем устройство управления добавляет значение 2 к счетчику команд, чтобы он содержал адрес следующей команды (Рисунок 4, б). В конце шага выбора первого машинного цикла счетчик команд и регистр команд содержат следующие данные: счетчик команд - А2, регистр команд — 156С.
Затем устройство управления анализирует команду, находящуюся в регистре команд, и делает вывод о том, что нужно загрузить содержимое ячейки памяти с адресом 6С в регистр 5. Это действие осуществляется в процессе шага выполнения.третьего шага машинного цикла. Затем устройство управления начинает следующий цикл.
Новый цикл начинается с выбора команды 166Dиз ячеек памяти начиная с адреса А2. Устройство управления помещает эту команду в регистр команд и увеличивает счетчик команд до значения А4. Следовательно, теперь значения в счетчике команд и в регистре команд таковы: счетчик команд — А4, регистр команд — 166D.
Рисунок 4 – Выполнение шага выбора машинного цикла: а – в начале шага выбора извлекается команда, находящаяся по адресу А0, и помещается в регистр команд; б – затем к счетчику команд добавляется приращение, чтобы он указывал на следующую команду
Теперь устройство управления расшифровывает команду 166Dи определяет, что нужно загрузить содержимое ячейки память с адресом 60 в регистр 6. Затем выполняет команду, в результате чего регистр 6 загружается.
Поскольку счетчик команд содержит значение А4, устройство управления извлекает следующую команду, начиная с этого адреса. В результате команда 5056 помещается в регистр команд, а счетчик команд увеличивается до А6. Теперь устройство управления расшифровывает содержимое регистра команд и выполняет то, что предписывает команда, активируя схему сложения в дополнительном коде, на входе которой находятся регистры 5 и 6.
Во время шага выполнения арифметико-логическое устройство находит сумму, помещает результат в регистр 0 и докладывает устройству управления о том, что операция завершена. После чего устройство управления начинает другой машинный цикл. И опять, с помощью счетчика команд оно извлекает следующую команду (306Е) из двух ячеек памяти начиная с адреса А6 и увеличивает счетчик команд до значения А8. Полученная команда затем расшифровывается и выполняется. На данном этапе сумма помещается в ячейку памяти с адресом 6Е.
Следующая команда извлекается, начиная с ячейки памяти с адресом А8, при этом значение счетчика команд становится равным АА. Содержимое регистра команд (СООО) является командой останова. Следовательно, во время шага выполнения машина останавливает работу, и выполнение программы завершается.
Как вы могли заметить, выполнение программы, хранящейся в памяти, проходит так же, как если бы вы или я выполняли подробный список инструкций. В то время как мы отмечаем галочками инструкции по мере их выполнения, компьютер использует для этого счетчик команд. Определив, какую инструкцию выполнять, мы читаем ее и понимаем ее значение. Затем мы выполняем требуемую задачу и возвращаемся к списку за следующей инструкцией. Точно гак же машина, выполнив команду, находящуюся в регистре команд, продолжает выполнение программы, начиная с шага выбора.