Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CП_Ответы.doc
Скачиваний:
15
Добавлен:
27.09.2019
Размер:
281.09 Кб
Скачать
  1. Перечислите команды загрузки элемента цепочки в аккумулятор. Опишите синтаксис каждой команды и принцип ее работы. Приведите примеры использования команд загрузки элемента цепочки в аккумулятор.

Эта операция позволяет извлечь элемент цепочки и поместить его в регистр- аккумулятор al, ax или eax. Эту операцию удобно использовать вместе с поиском (сканированием), с тем, чтобы, найдя нужный элемент, извлечь его, разместив в регистр-аккумулятор загрузить элемент из цепочки в регистр-аккумулятор al/ax/eax: lods адрес_источника Команда извлекает элемент из цепочки по адресу, соответствующему содержимому пары регистров ds : esi/si, и поместить его в регистр eax / ax / al . При этом содержимое esi / si подвергается инкременту или декременту на значение, равное размеру элемента. загрузить байт из цепочки в регистр- аккумулятор al: lodsb адрес_источника определяемых элементов, в этом случае не обязательно обозначать запятыми поля со значениями которых мы согласны. Ситаксис: Имя_ переменной имя_записи имя поля 1 = выражение1:..Имя поля N= выражение N

  1. Назовите регистры состояния и управления для микропроцессоров архитектуры IA-32. Укажите разрядность перечисленных регистров. Охарактеризуйте каждый регистр с точки зрения его использования и функционального назначения. Приведите структуру регистра состояния.

К этим регистрам относятся:

  • регистр флагов eflags/flags;

  • регистр указателя команды eip/ip.

eflags/flags (flag register) — регистр флагов. Разрядность eflags/flags — 32/16 бит. Отдельные биты данного регистра имеют определенное функциональное назначение и называются флагами. Младшая часть этого регистра полностью аналогична регистру flags для i8086. Исходя из особенностей использования, флаги регистра eflags/flags можно разделить на три группы: 8 флагов состояния отражают особенности результата исполнения арифметических или логических операций. 1 флаг управления. Обозначается df (Directory Flag). Значение флага df определяет направление поэлементной обработки в этих операциях: от начала строки к концу (df = 0) либо наоборот, от конца строки к ее началу (df = 1). 5 системных флагов, управляющих вводом/выводом, маскируемыми прерываниями, отладкой, переключением между задачами и виртуальным режимом 8086. eip/ip (Instraction Pointer register) — регистр-указатель команд, содержит смещение следующей подлежащей выполнению команды относительно содержимого сегментного регистра cs в текущем сегменте команд.

  1. Перечислите команды циклического сдвига. Опишите синтаксис каждой команды и принцип ее работы. Приведите примеры использования команд циклического сдвига.

Команды циклического сдвига: ROL, ROR, RCL, RCR

Синтаксис:

ROL операнд, счетчик_сдвигов

ROR операнд, счетчик_сдвигов

RCL операнд, счетчик_сдвигов

RCR операнд, счетчик_сдвигов

ROL — циклический сдвиг влево. Содержимое операнда сдвигается влево на количество битов, определяемое операндом счетчик_сдвигов. Сдвигаемые влево биты записываются в тот же операнд справа. ROR — циклический сдвиг вправо. Содержимое операнда сдвигается вправо на количество битов, определяемое операндом счетчик_сдвигов. Сдвигаемые вправо биты записываются в тот же операнд слева. RCL — циклический сдвиг влево через перенос. Содержимое операнда сдвигается влево на количество битов, определяемое операндом счетчик_сдвигов. Сдвигаемые биты поочередно становятся значением флага переноса CF; RCR — циклический сдвиг вправо через перенос. Содержимое операнда сдвигается вправо на количество битов, определяемое операндом счетчик_сдвигов. Сдвигаемые биты поочередно становятся значением флага переноса CF.

Пример:

rcl eax, 1

rol eax,16

ror eax,1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]