Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Здравствуйте, объясните что такое регистр и как работают сдвиги?

Печень Мыслитель (5162), закрыт 10 лет назад
Лучший ответ
Константин Францев Мудрец (17972) 10 лет назад
Регистр это компонент процессора. Есть регистры для арифметических действий, для адресации, для управления различными компонентами.
Команда сдвига выполняет сдвиг значения в регистре либо влево либо вправо, на нужное количество двоичных разрядов. При циклическом сдвиге выдвигаемые за пределы регистра биты возвращаются в него с другой стороны. При обычном - теряются. При логическом сдвиге вправо освобождающиеся справа разряды заполняются нулями. При арифметическом они заполняются знаковым разрядом.
ПеченьМыслитель (5162) 10 лет назад
у меня такая ситуация есть двухканальное устройство в режиме чтения:
когда только на 1-й канал приходят данные, я делаю запрос регистра 00h, оно мне отвечает АА02020200
когда на 2 канала приходят данные одновременно, я делаю запрос регистра 02h, оно мне отвечает таким же кодом АА02020200
Константин Францев Мудрец (17972) Ну что сказать? У меня такого устройства нет, и я даже не знаю что это за устройство и через какой интерфейс оно подключено.
Остальные ответы
Lazy Getter Ученик (105) 10 лет назад
Начиная с модели 80386 процессоры Intel предоставляют 16 основных регистров для пользовательских программ и ещё 11 регистров для работы с мультимедийными приложениями (MMX) и числами с плавающей точкой (FPU/NPX). Все команды так или иначе изменяют содержимое регистров. Как уже говорилось, обращаться к регистрам быстрее и удобнее, чем к памяти. Поэтому при программировании на языке Ассемблера регистры используются очень широко.

http://av-assembler.ru/asm/afd/assembler-for-dummy.htm
diablo Мыслитель (7039) 10 лет назад
в google поискать не судьба
Регистр процессора — блок ячеек памяти, образующий сверхбыструю оперативную память (СОЗУ) внутри процессора; используется самим процессором и большой частью недоступен программисту: например, при выборке из памяти очередной команды она помещается в регистр команд (англ.), к которому программист обратиться не может.

xor al,al //обнуляем регистр al ре
inc al // al содержит 00000001
shl al,1 сдвигаем биты на один влево al == 00000010
shr al,1 вправо 00000001
еще есть циклический сдвиг
rol и ror

https://ru.wikipedia.org/wiki/Регистр_процессора
Похожие вопросы