русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

RCL/RCR/ROL/ROR - Циклический сдвиг


Дата добавления: 2015-06-12; просмотров: 817; Нарушение авторских прав


-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||D0 /2 RCL r/m8,1 3/4 Циклический сдвиг 9 битов || (CF, байт r/m) влево 1 раз ||D2 /2 RCL r/m8, 8-30/9-31 Циклический сдвиг 9 битов || CL (CF, байт r/m) влево CL раз ||C0 /2 ib RCL r/m8, 8-30/9-31 Циклический сдвиг 9 битов || imm8 (CF, байт r/m) влево imm8 раз ||D1 /2 RCL r/m16,1 3/4 Циклический сдвиг 17 битов || (CF,слово r/m) влево 1 раз ||D3 /2 RCL r/m16, 8-30/9-31 Циклический сдвиг 17 битов || CL (CF,слово r/m) влево CL раз ||C1 /2 ib RCL r/m16, 8-30/9-31 Циклический сдвиг 17 битов || imm8 (CF,слово r/m) влево imm8 раз ||D1 /2 RCL r/m32,1 3/4 Циклический сдвиг 33 битов || (CF,двойное слово r/m) влево 1 раз ||D3 /2 RCL r/m32, 8-30/9-31 Циклический сдвиг 33 битов || CL (CF,двойное слово r/m) влево CL раз ||C1 /2 ib RCL r/m32, 8-30/9-31 Циклический сдвиг 33 битов || imm8 (CF,двойное слово r/m) влево imm8 раз||D0 /3 RCR r/m8,1 3/4 Циклический сдвиг 9 битов || (CF, байт r/m) вправо 1 раз ||D2 /3 RCR r/m8, 8-30/9-31 Циклический сдвиг 9 битов || CL (CF, байт r/m) вправо CL раз ||C0 /3 ib RCR r/m8, 8-30/9-31 Циклический сдвиг 9 битов || imm8 (CF, байт r/m) вправо imm8 раз ||D1 /3 RCR r/m16,1 3/4 Циклический сдвиг 17 битов || (CF,слово r/m) вправо 1 раз ||D3 /3 RCR r/m16, 8-30/9-31 Циклический сдвиг 17 битов || CL (CF,слово r/m) вправо CL раз ||C1 /3 ib RCR r/m16, 8-30/9-31 Циклический сдвиг 17 битов || imm8 (CF,слово r/m) вправо imm8 раз ||D1 /3 RCR r/m32,1 3/4 Циклический сдвиг 33 битов || (CF,двойное слово r/m) вправо 1 раз ||D3 /3 RCR r/m32, 8-30/9-31 Циклический сдвиг 33 битов || CL (CF,двойное слово r/m) вправо CL раз ||C1 /3 ib RCR r/m32, 8-30/9-31 Циклический сдвиг 33 битов || imm8 (CF,двойное слово r/m)вправо imm8 раз||D0 /0 ROL r/m8,1 3/4 Циклический сдвиг 8 битов || ( байт r/m) влево 1 раз ||D2 /0 ROL r/m8, 3/4 Циклический сдвиг 8 битов || CL ( байт r/m) влево CL раз ||C0 /0 ib ROL r/m8, 3/4 Циклический сдвиг 8 битов || imm8 ( байт r/m) влево imm8 раз ||D1 /0 ROL r/m16,1 3/4 Циклический сдвиг 16 битов || ( слово r/m) влево 1 раз ||D3 /0 ROL r/m16, 3/4 Циклический сдвиг 16 битов || CL ( слово r/m) влево CL раз ||C1 /0 ib ROL r/m16, 3/4 Циклический сдвиг 16 битов || imm8 ( слово r/m) влево imm8 раз ||D1 /0 ROL r/m32,1 3/4 Циклический сдвиг 32 битов || (двойное слово r/m) влево 1 раз ||D3 /0 ROL r/m32, 3/4 Циклический сдвиг 32 битов || CL (двойное слово r/m) влево CL раз ||C1 /0 ib ROL r/m32, 2/4 Циклический сдвиг 32 битов || imm8 (двойное слово r/m) влево imm8 раз||D0 /1 ROR r/m8,1 3/4 Циклический сдвиг 8 битов || ( байт r/m) вправо 1 раз ||D2 /1 ROR r/m8, 3/4 Циклический сдвиг 8 битов || CL ( байт r/m) вправо CL раз ||C0 /1 ib ROR r/m8, 3/4 Циклический сдвиг 8 битов || imm8 ( байт r/m) вправо imm8 раз ||D1 /1 ROR r/m16,1 3/4 Циклический сдвиг 16 битов || ( слово r/m) вправо 1 раз ||D3 /1 ROR r/m16, 3/4 Циклический сдвиг 16 битов || CL ( слово r/m) вправо CL раз ||C1 /1 ib ROR r/m16, 3/4 Циклический сдвиг 16 битов || imm8 ( слово r/m) вправо imm8 раз ||D1 /1 ROR r/m32,1 3/4 Циклический сдвиг 32 битов || (двойное слово r/m) вправо 1 раз ||D3 /1 ROR r/m32, 3/4 Циклический сдвиг 32 битов || CL (двойное слово r/m) вправо CL раз ||C1 /1 ib ROR r/m32, 2/4 Циклический сдвиг 32 битов || imm8 (двойное слово r/m)вправо imm8 раз|----------------------------------------------------------------- Работа команды(* ROL - циклический сдвиг влево *)врем <- счетчик;WHILE(врем <> 0)DO времcf <- старший бит (r/m); r/m <- r/m * 2 + (времcf); врем <- врем - 1;OD;IF счетчик = 1THEN IF старший бит r/m <> CF THEN OF <- 1; ELSE OF <- 0; FI;ELSE OF <- неопределено;FI; (* ROR - циклический сдвиг вправо *)врем <- счетчик;WHILE(врем <> 0)DO времcf <- младший бит (r/m); r/m <- r/m / 2 + (времcf * 2 ** width(r/m)); врем <- врем - 1;OD;IF счетчик = 1THEN IF (старший бит r/m) <> (бит, соседний со старшим битом r/m) THEN OF <- 1; ELSE OF <- 0; FI;ELSE OF <- неопределено;FI; ОписаниеКаждая команда циклического сдвига сдвигает биты данного операнда регистраили памяти. Команда циклического сдвига влево сдвигают все биты в верхнемнаправлении, за исключением самого верхнего бита, который переходит внижнюю позицию. Команды циклического сдвига выполняют обратное действие:биты сдвигаются в нижнем направлении, пока самый нижний бит не окажетсясверху.В случае команд RCL и RCR флаг CF является частью сдвигаемых данных.Команда RCL сдвигает флаг CF в нижний бит, а верхний бит сдвигает во флагCF; команда RCR сдвигает флаг CF в верхний бит, а нижний бит сдвигает вофлаг CF. Для команд ROL и ROR исходное значение флага CF не являетсячастью результата, но флаг CF получает копию бита, который был сдвинут содного конца на другой.Сдвиг повторяется число раз, задаваемое вторым операндом, которыйпредставляет собой либо непосредственное значение, либо содержимоерегистра CL. Для уменьшения максимального времени выполнения командыпроцессор i486 не позволяет число циклических сдвигов более 31. Припопытке сделать счетчик сдвигов более 31 используются только нижние 5битов. 8086 не маскирует счетчик сдвигов. В виртуальном режиме 8086процессор i486 не маскирует счетчик сдвигов.Флаг OF определен только для однократных форм команды (второй операндравен 1). В остальных случаях он не определен. Для сдвигов/циклическихсдвигов влево для бита CF после сдвига выполняется операция XOR с битомрезультата старшего порядка. Для сдвигов/циклических сдвигов вправо длядвух битов старшего порядка результата выполняется операция XOR дляполучения флага OF. Изменяемые флагиФлаг OF изменяется только в случае циклических сдвигов на 1 бит; длясдвигов на несколько битов флаг OF неопределен; флаг CF содержит значениебита, который был в него помещен сдвигом; флаги SF, ZF, AF и PF неизменяются. Исключения защищенного режима#GP(0), если назначением является сегмент, недоступный для записи; #GP(0)в случае недопустимого исполнительного адреса операнда памяти в сегментахCS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса в сегменте SS;#PF(код сбоя) в случае страничного сбоя; #AC для невыравненной ссылки кпамяти при текущем уровне привилегированности, равном 3. Исключения режима реальных адресовПрерывание 13, если какая-либо часть операнда лежит вне пространстваисполнительных адресов от 0 до 0FFFFH. Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #PF (код сбоя) длястраничных сбоев. #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3.


<== предыдущая лекция | следующая лекция ==>
PUSHA/PUSHAD - Помещение в стек всех регистров общего назначения | REP/REPE/REPZ/REPNE/REPNZ - Повторение следующей строковой команды


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.279 сек.