Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по МПС / Вопросы / ответы на вопросы(мет.1).doc
Скачиваний:
39
Добавлен:
28.03.2015
Размер:
76.29 Кб
Скачать

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

Ответ: В предыдущем вопросе (1) присутствует ответ на данный вопрос.

3. Какие функции выполняют команды перехода?

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

4. Какие существуют способы изменения последовательности выполнения команд?

Ответ: 1) командами передачи управления (условный и безусловный переход;

2) организация циклов;

3) команды вызова процедуры и возврата из нее.

5. Как осуществляется выполнение команды перехода?

Ответ: При безусловном переходе – выполняется переход по указанному адресу при любых условиях, при условном переходе – осуществляется переход по адресу в зависимости от некоторого условия, определяемого значениями разрядов регистра флагов.

6. В каких байтах располагаются младшие и старшие разряды в командах перехода?

Ответ: Младшие разряды в командах перехода располагаются в 3-ем байте, старшие – во 2-ом байте.

7. По алгоритму задачи необходимо принять решение «больше». Какими командами можно это реализовать?

Ответ: ja <операнд> -- для без знаковых данных;

jg <операнд> -- для знаковых данных.

8. По алгоритму задачи необходимо принять решение «равно», Какими командами можно это реализовать?

Ответ: jz(je) <операнд> или

cmp <операнд1>,<операнд2>

9. Как организуется цикл в системе команд МП Intel 80x86?

Ответ: C помощью команды организации циклов loop, который работает с регистром СХ. До начала цикла в регистр СХ должно быть загружено число выполняемых циклов. Команда loop находится в конце цикла, где она уменьшает значение в регистре СХ на единицу. Если значение в регистре СХ не равно нулю, то команда передает управление по адресу, указанному в операнде, иначе управление передается следующей после loop команде. В качестве операнда может быть только метка: loop <метка>

10. Какое максимальное число команд может быть в теле цикла?

Ответ: Максимальное число команд в теле цикла выбирается произвольно, но не должно превышать размеры сегмента в 64Кбайт.

11. Какое максимальное число команд имеет параметр цикла?

Ответ: Максимальное число команд, которое имеет параметр цикла, также не должно превышать размеры сегмента в 64Кбайта.

12. Как организуется работа с массивами?

Ответ: Для обработки массивов в Ассемблере предусмотрено 5 команд:

Movsb(movsw) – пересылает один байт или одно слово из адреса источника по адресу приёмника;

lods – загружает из памяти один байт в AL или одно слово в АХ;

stos – записать содержимое регистра AL или АХ в память;

cmpsb(cmpsw) – сравнивает содержимое регистра AL или АХ с содержимым памяти;

Для обработки строк произвольной длины перед этими командами ставится префикс rep, а в регистре СХ необходимо установить начальное значение счетчика повторений. При выполнении команды с префиксом rep происходит уменьшение значения в регистре СХ по 1-ке до нуля. Массивы данных могут обрабатываться как слева направо, так и справа налево, что определяется флагом D в регистре флагов.

6

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