регистры общего назначения



Ассемблер регистры

Автор Dmitriy задал вопрос в разделе Другие языки и технологии

Про ассемблер!! ! что такое РЕГИСТР?? ? и поподробнее... и получил лучший ответ

Ответ от SBIG[гуру]
Регистр - это определенный участок памяти внутри самого процессора, от 8-ми до 32-х бит длиной, который используется для промежуточного хранения информации, обрабатываемой процессором. Некоторые регистры содержат только определенную информацию. Регистры общего назначения - EAX, EBX, ECX, EDX. Они 32-х битные и делятся еще на две части, нижние из которых AX, BX, CD, DX - 16-ти битные, и деляется еще на два 8-ми битных регистра. Так, АХ делится на AH и AL, DX на DH и DL и т. д. Буква "Н" означает верхний регистр. Так, AH и AL каждый по одному байту, АХ - 2 байта (или word - слово) , ЕАХ - 4 байта (или dword - двойное слово) . Эти регистры используются для операций с данными, такими, как сравнение, математические операции или запись данных в память. Регистр СХ чаще всего используется как счетчик в циклах. АН в DOS программах используется как определитель, какой сервис будет использоваться при вызове INT. Регистры сегментов - это CS, DS, ES, FS, GS, SS. Эти регистры 16-ти битные, и содержат в себе первую половину адреса "оффсет: сегмент". CS - сегмент кода (страница памяти) исполняемой в данный момент программы. DS - сегмент (страница) данных исполняемой программы, т. е. константы, строковые ссылки и т. д. SS - сегмент стека исполняемой программы. ES, FS, GS - дополнительные сегменты, и могут не использоваться программой. Регистры оффсета - EIP, ESP, EBP, ESI, EDI. Эти регистры 32-х битные, нижняя половина которых доступна как регистры IP, SP, BP, SI, DI. EIP - указатель команд, и содержит оффсет (величину смещения относительно начала программы) на линию кода, которая будет исполняться следующей. То есть полный адрес на следующую исполняемую линию кода будет CS:ЕIP. Регистр ESP указывает на адрес вершины стека (адрес, куда будет заноситься следующая переменная командой PUSH). Регистр ЕВР содержит адрес, начиная с которого в стек вносится или забирается информация (или "глубина" стека) . Параметры функций имеют положительный сдвиг относительно ЕВР, локальные переменные - отрицательный сдвиг, а полный адрес этого участка памяти будет SS:EBP. Регистр ESI - адрес источника, и содержит адрес начала блока информации для операции "переместить блок" (полный адрес DS:SI), а регистр EDI- адрес назначения в этой операции (полный адрес ES:EDI). Регистры управления - CR0, CR1, CR2, CR3. Эти 32-х битные регистры устанавливают режим работы процессора (нормальный, защищенный и т. д.) , постраничное распределение памяти и т. д. Они доступны только для программ в первом кольце памяти (Kernel, например) . Трогать их не следует. Регистры дебаггера - DR0, DR1, DR2, DR3, DR4, DR5, DR6, DR7. Первые четыре регистра содержат адреса на точки прерывания, остальные устанавливают, что должно произойти при достижении точки прерывания. Контрольные регистры - TR6, TR7. Используются для контроля постраничной системы распределения памяти операционной системой. Нужны только если вы собираетесь написать свою ОС.

Ответ от Липецкий Алексей[гуру]
читайте
ссылка

Ответ от (Lady Land)[гуру]
Это ячейка памяти устройства, которая хранит инфу о его состоянии, конфигурации и т. п.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Про ассемблер!! ! что такое РЕГИСТР?? ? и поподробнее...
Регистр процессора на Википедии
Посмотрите статью на википедии про Регистр процессора
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*