Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ирвин__контр_вопросы_главы_3-4_вар-3.docx
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
220.72 Кб
Скачать

4.4.. Косвенная адресация 8

1. (Да/Нет). Для косвенной адресации может использоваться любой 16-разрядный

регистр общего назначения.

2. (Да/Нет). Для косвенной адресации может использоваться любой 32-разрядный

регистр общего назначения.

3. (Да/Нет). Обычно регистр ВХ используется для адресации данных,

расположенных в стеке.

4. (Да/Нет). В реальном режиме адресации прерывание из-за общего нарушения

защиты происходит в случае, когда индекс массива выходит за его пределы.

5. (Да/Нет). Вот пример некорректной команды: inc [esi].

6. (Да/Нет). А вот это пример операнда с индексом: array [ esi ].

Для выполнения оставшихся упражнений воспользуйтесь приведенными ниже

операторами определения данных:

7. Определите значения регистров после выполнения каждой из приведенных ниже

команд:

8. Задача повышенной сложности. Определите значения регистров после выполнения

каждой из приведенных ниже команд:

……………………………………………………………………………………………………………………………………….

4.5.. Команды jmp и loop 10

1. (Да/Нет). Если метка не объявлена как глобальная, команда JMP может передать

управление только одной из команд текущей процедуры.

2. (Да/Нет). Команда JMP является одной из команд условного перехода.

3. Предположим, что перед началом выполнения цикла вы обнулили регистр ЕСХ.

Сколько раз при этом будет выполняться команда LOOP, если значение регистра

ЕСХ не меняется внутри цикла?

4. (Да/Нет). При выполнении команды LOOP процессор вначале проверяет, что

значение регистра ЕСХ больше нуля, затем он уменьшает его значение на единицу и

передает управление команде, адрес которой указан в качестве операнда команды

LOOP.

5. (Да/Нет). Выполнение команды LOOP происходит следующим образом: вначале

значение регистра ЕСХ уменьшается на единицу; затем, если результат больше

нуля, выполняется переход по указанной метке.

6. Какой регистр используется в качестве счетчика команды LOOP в реальном

режиме работы процессора?

7. Какой регистр используется в качестве счетчика команды LOOPD в реальном

режиме работы процессора?

8. (Да/Нет). Метка команды LOOP не должна находиться дальше, чем за 256 байтов

от ее текущего положения.

9. Задача повышенной сложности. Определите значение регистра ЕАХ после

выполнения приведенной ниже программы:

10. Внесите изменения в код предыдущего примера так, чтобы значение счетчика

внешнего цикла не изменялось при запуске внутреннего цикла.

……………………………………………………………………………………………………………………………………….

……………………………………………………………………………………………………………………………………….

4.7.6. Числа Фибоначчи

Напишите программу, которая в цикле вычисляет первые семь чисел последовательности Фибоначчи: {1, 1,2,3,5, 8, 13}. Каждое число в этой последовательности после второй единицы является суммой двух предыдущих чисел. Загрузите каждое из чисел последовательности в регистр ЕАХ и отобразите значения регистров в цикле с помощью команды

callDumpRegs.

……………………………………………………………………………………………………………………………………….