Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 55

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 49 50 51 52 53 54 < 55 > 56 57 58 59 60 61 .. 528 >> Следующая

разрядов, n=(CL)
SHR r/m(8,16,32), im8 r/m(8,16,32), CL Логический сдвиг r/m(8,16,32)
вправо на п разрядов, n=im8 Логический сдвиг r/m(8,16,32) вправо на п
разрядов, n=(CL)
ROL r/m(8,16,32), im8 r/m(8,16,32), CL Циклический сдвиг r/m(8,16,32)
влево на п разрядов, n=im8 Циклический сдвиг r/m(8,16,32) влево на п
разрядов, n=(CL)
ROR r/m(8,16,32), im8 r/m(8,16,32), CL Циклический сдвиг r/m(8,16,32)
вправо на п разрядов, n=im8 Циклический сдвиг r/m(8,16,32) вправо на п
разрядов, n=(CL)
RCL r/m(8,16,32), im8 r/m(8,16,32), CL Циклический сдвиг г/т(8,16,32)
влево через CF на п разрядов, n=im8 Циклический сдвиг г/т(8,16,32) влево
через CF на п разрядов, n=(CL)
RCR r/m(8,16,32), im8 r/m(8,16,32), CL Циклический сдвиг г/т(8,16,32)
вправо через CF на п разрядов, n=im8 Циклический сдвиг г/т(8,16,32)
вправо через CF на п разрядов, n=(CL)
CHLD r/m(16,32),r(16,32),im8 r/m(16,32),r( 16,32), CL Сдвиг г/т( 16,32)
влево на п разрядов с запоминанием разрядов справа из г(16,32), n=im8
Сдвиг г/т( 16,32) влево на п разрядов с запоминанием разрядов справа из
г( 16,32), n=(CL)
CHRD r/m(16,32),r(16,32),im8 r/m(16,32),r(16,32), CL Сдвиг г/т(16,32)
вправо на п разрядов с запоминанием разрядов слева из г( 16,32), n=im8
Сдвиг г/т(16,32) вправо на п разрядов с запоминанием разрядов слева из г(
16,32), n=(CL)
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Логические операции конъюнкции (И), дизъюнкции (ИЛИ), неравнозначности
(исключающее ИЛИ) выполняются командами AND, OR, XOR побитно над
значениями каждого из разрядов операндов. В этих командах реализуются
такие же варианты адресации операндов, как и в арифметических командах
ADD, SUB, При использовании в качестве операндов 16- или 32-разрядного
содержимого регистра или ячейки памяти и 8-разрядного непосредственного
операнда im8 последний расширяется знаком до 16 или 32 разрядов. Команда
NOT производит инвертирование значения каждого бита в адресуемом регистре
или ячейке памяти. При этом значения признаков не изменяются.
Команда проверки TEST реализует побитную конъюнкцию операндов без
изменения их значений и устанавливает соответствующие признаки в регистре
EFLAGS (аналогично арифметической команде СМР).
Процессор выполняет несколько команд, реализующих сдвиги размещенного в
регистре или памяти 8-, 16- или 32-разрядного операнда r/m на заданное
число разрядов п. Значение п определяется содержимым регистра CL
(переменная разрядность) или числом, заданным в виде непосредственного
операнда im8 (фиксированная разрядность). Величина п задается пятью
младшими разрядами содержимого CL или операнда im8 и может принимать
значения от 0 до 31. Реализация различных команд сдвигов показана на рис.
2.14.
r/m (8,16,32)
Рис. 2.14. Выполнение команд сдвигов
СИСТЕМА КОМАНД: ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ
Команда SHL/SAL осуществляет сдвиг адресуемого операнда, размещенного в
регистре или памяти, влево на заданное число разрядов; освобождающиеся
младшие разряды заполняются нулями. Команды SHR, SAR сдвигают адресуемый
операнд вправо. При выполнении команды SHR освобождающиеся старшие
разряды заполняются нулями. Команда SAR сохраняет знак операнда; для
этого освобождающиеся слева разряды заполняются значениями старшего
(знакового) разряда. Выполнение команд циклических сдвигов ROL, ROR, RCR,
RCL иллюстрируется на рис. 2.14.
Команды SHLD, SHRD используют два операнда, первый из которых r/m может
храниться в регистре или памяти, второй r-в регистре. При выполнении
команды SHLD первый операнд сдвигается влево на заданное число разрядов,
а в его освободившиеся младшие разряды вводится соответствующее число
старших разрядов второго операнда. При выполнении команды SHRD первый
операнд сдвигается вправо, а в освобождающиеся старшие разряды
последовательно вводятся младшие разряды второго операнда. Копия второго
операнда г сохраняется в соответствующем регистре в исходном состоянии
(без сдвига).
Во всех видах сдвигов признак CF принимает значение последнего
выдвигаемого бита (в командах SHLD, SHRD - последнего бита, выдвигаемого
из первого операнда). При одноразрядных сдвигах (п = 1) устанавливается
значение признака переполнения OF = 1, если изменилось значение знака
(старший разряд). При многоразрядных сдвигах (п > 1) значение признака OF
оказывается неопределенным. При выполнении команды SAR значение знакового
разряда не меняется, поэтому всегда устанавливается значение OF = 0.
2.2.4. КОМАНДЫ БИТОВЫХ И БАЙТОВЫХ ОПЕРАЦИЙ
Команды данной группы приведены в табл. 2.19.
Команды битовых операций ВТ, BTS, BTR, ВТС выбирают из регистра или
ячейки памяти значение определенного бита и копируют его в признак CF.
Номер бита п задается пятью или четырьмя младшими разрядами содержимого
регистра г или непосредственного операнда im8 (в зависимости от
разрядности обрабатываемого слова r/m32 или г/т 16). При выполнении
команды ВТ значение выбранного бита в исходном 16- или 32-разрядном слове
Предыдущая << 1 .. 49 50 51 52 53 54 < 55 > 56 57 58 59 60 61 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed