Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5 семестр / МКиМПвСУ / МПС / Вопросы / ответы на вопросы(мет.2)

.doc
Скачиваний:
54
Добавлен:
28.03.2015
Размер:
58.37 Кб
Скачать

Лабораторная работа 1

ОРГАНИЗАЦИЯ УСЛОВНЫХ ПЕРЕХОДОВ

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

1. Какие бывают команды перехода?

Ответ: Команды переходов:

Безусловный переход (Jmp);

Условный переход (Jnnn) (символы nnn мнемонического кода зависят от проверяемого условия). Условные переходы бывают без учета и с учетом знака.

2. Перечислите команды условных переходов.

Ответ:

Без учета знака:

Ja/jnbe – переход, если выше (не ниже и не равно) Z,C

Jae/jnb/jnc – переход, если C=0: выше или равно (не ниже) C

Jb/jnae/jc – переход, если C=1: ниже (не выше и не равно) C

Jbe/jna – переход, если ниже или равно (не выше) A,C

Je/jz – переход, если равно (нуль): Z=1 Z

Jne/jnz – переход, если не равно (не нуль): Z=0 Z

Jp/jpe – переход, если четность: Р=1 P

Jnp/jpo – переход, если нечетность: Р=0 P

C учетом знака:

Jg/jnle – переход, если больше (не меньше и не равно) Z,S,O

Jge/jnl – переход, если больше или равно (не меньше) S,O

Jl/jnge – переход, если меньше (не больше и не равно) S,O

Jle/jng – переход, если меньше или равно (не больше) Z,S,O

Js – переход, если отрицательно: S=1 S

Jns – переход, если положительно: S=0 S

Jo – переход, если переполнение: O=1 O

Jno – переход, если нет переполнения: O=0 O

3. С помощью каких регистров признаков осуществляется каждая из них?

Ответ: Смотрите ответ на предыдущий вопрос.

4. Каков формат команд перехода, и к какому способу адресации они относятся?

Ответ: Формат команд:

Код Операнд

<метка> jmp(jnnn) r, m

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

5. По каким условиям записывается 1 в каждый из разрядов регистра состояния МП?

Ответ:

Флаг Назначение

O (Переполнение) Указывает на переполнение старшего бита (О=1) при арифметических командах.

D (Направление) Обозначает левое (D=1) или правое (D=0) направление пересылки или сравнения строковых данных.

I (Прерывание) Указывает на возможность внешних прерываний (I=1).

T (Пошаговый режим) Обеспечивает возможность работы процессора в пошаговом режиме (T=1).

S (Знак) Содержит результирующий знак при арифметических операциях (0 - плюс, 1 - минус).

Z (Ноль) Показывает результат арифметических операций и операций сравнения (0 - ненулевой, 1 - нулевой результат).

A (Внешний перенос) Содержит перенос из 3-го бита (А=1) для 8-битовых данных, используется для специальных арифметических операций.

P (Контроль четности) Показывает четность младших 8-битовых данных (1 - четное, 0 - нечетное число).

C (Перенос) Содержит перенос из старшего бита (С=1) после арифметических операций, а также последний бит при сдвигах или циклических сдвигах.

Лабораторная работа 2

МАСКИРОВАНИЕ ДАННЫХ

Контрольные вопросы:
  1. Перечислите виды логических операций, выполняемые МП.

Ответ: Практически все МП производят логические операции: «лог. И», «лог. ИЛИ», исключающее ИЛИ, которые выполняются над одноименными разрядами операндов с помощью команд and, or, xor. Команда not инвертирует значение каждого разряда операнда.

  1. Для каких целей используется логическая операция «XOR»?

Ответ: Хor – инвертирует содержимое разряда числа, если в соответствующем разряде маски записана единица, иначе не изменяет его.

  1. Какие разряды регистра состояния задействованы при выполнении логических команд?

Ответ: При выполнение логических команд задействованы разряды регистра состояния: C, O, P, S, Z.

  1. Куда помещается результат после выполнения команд AND, OR, XOR?

Ответ: Результат после выполнения команд AND, OR, XOR помещается по адресу первого операнда.

  1. Напишите таблицы истинности для команд «лог. И», «лог. ИЛИ», «лог. исключающее ИЛИ».

Ответ:

Аргументы

Логические операции

X1

X2

И

ИЛИ

Исключающее ИЛИ

0

0

0

0

0

0

1

0

1

1

1

0

0

1

1

1

1

1

1

0

Лабораторная работа 3

ПОДПРОГРАММА И СТЕК

Контрольные вопросы:
  1. Укажите порядок выполнения команды RET.

Ответ: Команда возврата из процедуры RET возвращает управление из процедуры, вызванное ранее командой CALL. Команда RET заносит слово из стека в регистр IP и увеличивает значение регистра SP на 2. Для межсегментного возврата команда RET, кроме того, заносит слово из новой вершины стека в регистр CS и еще раз увеличивает значение SP на 2. Любой числовой операнд команды прибавляется к указателю стека SP.

  1. Сравните процесс выполнения команд CALL и RET.

Ответ: Команда вызова процедура CALL осуществляет передачу управление по адресу процедуры, на которую ссылается операнд команды. Эта команда используется для сохранения адреса точки возврата в стек. Возврат из вызванной процедуры осуществляется по команде RET в точку программы, следующей за командой вызова CALL. Команда RET извлекает из стека адрес точки возврата.

  1. В какой последовательности сохраняется и извлекается содержимое регистров МП в подпрограмме?

Ответ: Сохраняется и извлекается содержимое регистров МП в подпрограмме по принципу: последний зашел, первый вышел (FIFO) (First input, first output).

  1. Как будет выполняться программа, если вместо команды POPF в ней будет записана команда NOP?

Ответ: POPF – чтение содержимого регистра признаков из стека;

NOP -- отсутствие операции, т.е. МП остановит действия по выполнению программы, до тех пор пока не поступит новая операция для выполнения.

Лабораторная работа 4

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ДЕЛЕНИЯ

ЦЕЛЫХ ДВОИЧНЫХ ЧИСЕЛ

Контрольные вопросы:
    1. На чем основан алгоритм программы деления чисел?

Ответ: Процесс деления заключается в многократных сдвигах влево и сложении в дополнительном коде. При организации автоматического процесса деления все операции должны выполнятся явно.

    1. Чем отличается программы 1 и 2?

Ответ: Отличие программ с явным счетчиком (1) и с неявным (2) в том, что назначение регистра СХ в них различно. В первом случае в регистр СХ записывается величина, которую отчитывает счетчик, а во втором случае значение делителя.

    1. Каким образом организуется образование цифры частного в программах 1 и 2?

Ответ: В программах 1,2 разряды частного при делении чисел на машине определяются (начиная со старшего) путем последовательного вычитания делителя из остатка, полученного от предыдущего вычитания. Если остаток после вычитания получается положительный, в разряд частного записывается 1, если отрицательный, то 0. На практике обычно отрицательный остаток не записывается, просто делитель дополнительно сдвигается на один разряд вправо и вычитается из последнего положительного остатка.

    1. Объясните организацию неявного счетчика в программе 2?

Ответ: Программа 2 выполняется неявно, то есть как бы в уме. Если в явном счетчике происходит наглядное поэтапное рассмотрение процесса деления, то в неявном счетчике, хотя и происходит поэтапный процесс, выделяются только текущие значения остатка и делителя.

Лабораторная работа 5.
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ УМНОЖЕНИЯ

ЦЕЛЫХ ДВОИЧНЫХ ЧИСЕЛ.

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

  1. Приведите примеры существующих алгоритмов умножения.

Ответ: Существует несколько алгоритмов умножения чисел. При неявном алгоритме умножение можно заменить многократным сложением, например 14*3=14+14+14. Существенный недостаток этого способа ─ значительная длительность процесса вычисления. При втором алгоритме умножение (явный алгоритм) осуществляется в столбец. Этот алгоритм применим для умножения двоичных чисел.

  1. На чем основан алгоритм работы программы умножения?

Ответ: Алгоритм работы программы умножения основан на многократном сдвиге вправо и сложении.

  1. Что такое «сдвиг влево», «сдвиг вправо»?

Ответ: Сдвиг влево (вправо) означает, что содержимое каждого разряда РАк передвигается в соседний старший (младший) разряд.

3

Соседние файлы в папке Вопросы