Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ-ВМСиС-Ч1.doc
Скачиваний:
9
Добавлен:
16.11.2019
Размер:
671.74 Кб
Скачать

8.2 Контрольные вопросы

1) Основные логические операции и принципы их выполнения.

2) Правила формирования масок для установки и сброса битов.

3) Каким образом выполняются логические команды над словами?

4) Команды линейного логического и арифметического сдвигов. В чем заключается разница их выполнения?

5) Особенности выполнения команд циклического сдвига. Сферы применения этих команд.

6) Что указывает директива ASSUME в программе?

7) Как оформляется начало выполнения программы?

8.3 Задание на лабораторную работу

1) Написать программу на языке ассемблера, которая выполняет логические операции и операции сдвига над данными.

1.1) В сегменте данных определить однобайтовое число в двоичной системе счисления.

1.2) Переписать его в регистр, установить 2 любых бита в единицу, инвертировать все, сбросить 3 любых бита.

1.3) Полученный результат продублировать в другом регистре, сложить получившиеся значения по модулю два.

1.4) Выполнить проверку, является ли полученный результат четным числом. Если да, то переписать его в регистр DH, иначе – в регистр DL.

1.5) Используя команды линейного сдвига, умножить сначала значение регистра DH или DL, в зависимости от результата предыдущей операции, на 4, а потом разделить на 2.

1.6) Используя команды циклического сдвига, в регистре BL получить значение третьего бита полученного числа, а в регистре BH – значение пятого бита.

2) На основе исходной программы получить исполняемый файл. Выполнить программу по шагам с помощью отладчика TURBO DEBUGGER, описать изменение состояния регистров и ячеек памяти при выполнении программы. Обратить особое внимание на следующие моменты:

2.1) Чему равна маска для установки двух битов в единицу и почему?

2.1) Чему равна маска для сброса трех битов в ноль?

2.3) В каком регистре будет находиться сначала результат умножения на 4, а потом результат деления на 2 при выполнении операций линейного сдвига? Чему равны полученные результаты в десятичной системе счисления?

2.4) Чему равны третий и пятый биты анализируемого числа и какую позицию они занимают в регистрах BL и BH, соответственно?

2.5) Где находятся биты числа, подвергнутые циклическому сдвигу и чему они равны?

9 Лабораторная работа № 3. Команды условного и безусловного переходов. Организация ветвлений и циклов в программе

9.1 Цель работы

Цели лабораторной работы:

1) изучение принципов функционирования памяти и микропроцессора компьютера при выполнении ветвлений и циклов;

2) приобретение навыков использования команд условного и безусловного переходов, циклов при написании ассемблерных программ;

3) получение представления об особенностях обработки данных, команд и режимах доступа к данным при организации ветвлений и циклов.

9.2 Контрольные вопросы

1) Ветвления в алгоритмах. Реализация ветвлений на языке ассемблера.

2) Флаги процессора и их использование в условиях.

3) Циклы в алгоритмах. Организация циклов на языке ассемблера.

4) В каком регистре находится во время выполнения программы смещение кода?

5) Какую принципиальную роль играет оператор безусловного перехода JMP при организации ветвлений?

6) Что означает корректное завершение программы?