Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комплект Информатика / Лабораторный практикум.doc
Скачиваний:
178
Добавлен:
22.05.2015
Размер:
6.45 Mб
Скачать

Задания

Задание 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, при этом значение счетчика команд становится равным АА. Содержимое регистра команд (СООО) является командой останова. Следовательно, во время шага выполнения машина останавливает работу, и выполнение программы завершается.

Как вы могли заметить, выполнение программы, хранящейся в памяти, проходит так же, как если бы вы или я выполняли подробный список инструкций. В то время как мы отмечаем галочками инструкции по мере их выполнения, компьютер использует для этого счетчик команд. Определив, какую инструкцию выполнять, мы читаем ее и понимаем ее значение. Затем мы выполняем требуемую задачу и возвращаемся к списку за следующей инструкцией. Точно гак же машина, выполнив команду, находящуюся в регистре команд, продолжает выполнение программы, начиная с шага выбора.