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 в регистре флагов.