КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Схемы работы команд сдвига
Команды сдвига и циклического сдвига Команды сдвига и циклического сдвига предназначены для передвижения битов в заданное положение (влево или вправо), а также для умножения и деления на степени 2 (сдвиг влево — умножение на 2, сдвиг вправо — деление на 2). Команды сдвига делятся на логические и арифметические. Арифметические команды — SAR, SAL — используются для сдвига над числами со знаком. Логические команды — SHR, SHL— сдвигают операнд, не считаясь со знаком. Все команды сдвига имеют два операнда: преемник и счётчик, определяющий, на сколько разрядов надо сдвинуть приемник. Счётчик может быть цифрой 1 или значением без знака в регистре CX. На освобождающееся место — всегда записываются 0. Все команды сдвига устанавливают флаг переноса CF. По мере сдвига битов за пределы операнда они сначала попадают во флаг переноса, устанавливая его равным значению очередного бита, оказавшегося за пределами операнда. Куда этот бит попадает дальше, зависит от типа команды сдвига и алгоритма программы.
Команда SAL идентична команде SHL. Команда SAR отличается от команды SHR тем, что сохраняет знак, восстанавливая его после сдвига каждого очередного бита. Команды сдвига, позволяя выполнить умножение и деление операнда на степени двойки, обладают преимуществом по сравнению с командами умножения и деления — в скорости их исполнения микропроцессором, можно сэкономить время в 6-8 раз. В командах сдвига изменяются флаги: PF, ZF, SF и CF, OF. Команды циклического сдвига похожи на команды сдвига, но в отличие от последних, сохраняют сдвинутые за пределы операнда биты, помещая их обратно в операнд. Как и при исполнении команд сдвига, сдвинутый за пределы операнда бит, запоминается во флаге переноса CF. Команды простого циклического сдвига ROL, ROR Команды циклического сдвига через флаг переноса CF — RCL, RCR, отличаются от ROL, ROR тем, что сдвигаемый бит, не сразу попадает в операнд с другого его конца, а записывается сначала во флаг переноса CF. Лишь следующее исполнение данной команды сдвига приводит к помещению выдвинутого ранее бита в другой конец операнда.
Дата добавления: 2014-11-09; Просмотров: 771; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |