![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
К командам простого циклического сдвига относятся:
rol перанд, счетчик_сдвигов — циклический сдвиг влево (Rotate Left). Содержимое операнда сдвигается влево на количество битов, определяемое операндом счетчик_сдвигов. Сдвигаемые влево биты записываются в тот же операнд справа.
ror операнд, счетчик_сдвигов — циклический сдвиг вправо (Rotate Right). Содержимое операнда сдвигается вправо на количество битов, определяемое операндом счетчик_сдвигов. Сдвигаемые вправо биты записываются в тот же операнд слева.
К командам циклического сдвига через флаг переноса CF относятся:
rcl операнд, счетчик_сдвигов — циклический сдвиг влево через перенос (Rotate through Carry Left). Содержимое операнда сдвигается влево на количество бит, определяемое операндом счетчик_сдвигов. Сдвигаемые биты поочередно становятся значением флага переноса CF;
rcr операнд, счетчик_сдвигов — циклический сдвиг вправо через перенос (Rotate through Carry Right).
Содержимое операнда сдвигается вправо на количество битов, определяемое операндом счетчик_сдвигов. Сдвигаемые биты поочередно становятся значением флага переноса CF.
bcd_dig dw 0905h; описание неупакованного BCD-числа 95
mov ax,bcd_dig; пересылка
shl ah, 4; сдвиг влево
add al,ah; сложение для получения результата al=95h
56. Ассемблерные команды условного и безусловного перехода. Состояние флагов. Пример программы.
Синтаксис команды безусловного перехода без сохранения информации о точке возврата:
jmp [модификатор] адрес_перехода
Здесь «адрес_перехода» представляет метку или адрес области памяти, в которой находится указатель перехода.
Процессор поддерживает 18 команд условного перехода, позволяющих проверить:
отношение между операндами со знаком (больше или меньше);
отношение между операндами без знака (выше или ниже);
состояниями арифметических флагов ZF, SF, CF, OF, PF (но не AF).
Команды условного перехода имеют одинаковый синтаксис:
jcc метка_перехода
Мнемокод всех команд начинается с символа «j» — от слова jump (прыжок). Вместо символов «сс» указывается конкретное условие, анализируемое командой. Что касается операнда метка_перехода, то он определяет метку перехода, которая может находиться только в пределах текущего сегмента кода; межсегментной передачи управления в условных переходах не допускается.
Для того чтобы принять решение о том, куда будет передано управление командой условного перехода, предварительно должно быть сформировано условие, на основании которого должно приниматься решение. Источниками такого условия могут быть:
Команда сравнения СМР (СоМРаге) имеет тот же принцип работы, что и команда вычитания SUB. Команда СМР так же, как и команда SUB, выполняет вычитание операндов и по результатам сравнения устанавливает флаги. Единственное, чего она не делает — это не записывает результат вычитания на место первого операнда.
Синтаксис команды СМР: cmp операнд_1, операнд_2
Флаги, устанавливаемые командой СМР, можно анализировать специальными командами условного перехода.
Дата публикования: 2014-11-03; Прочитано: 560 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!