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



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

Автор 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 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Про ассемблер!! ! что такое РЕГИСТР?? ? и поподробнее...

Ассемблер, регистры процессора
Младшая половина регистра EAX - это AX.
Младший байт EAX - это AL.
Второй справа байт EAX
подробнее...
спросили в Стек
Ассемблер, команды
1 нет, можно поместить это значение в регистр и сделать push или сделать push непосредственно
подробнее...

Ассемблер. Операция XOR
команда XOR это как сложение по модулю два (если одинаковые биты, то 0, иначе - 1). Например можно
подробнее...

Адресация в ассемблере
Ну смотри, в регистре bx лежит какое-то значение, допустим 7CFFh, тогда в регистр ax запишется 4
подробнее...

Мнемокод ассемблера
сложить - команда add. Например,
add ax,bx
#yahrefs390630#

Дмитрий
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

Заменить бит в байте. Ассемблер
КОМАНДА - BT истoчник, индекс
Кoмaнды BT, BTS, BTR, BTC oперируют с oтдельным битoм в пaмяти
подробнее...

PUSH EBP что значит это в ассемблере?
Положить содержимое регистра EBP в
подробнее...
спросили в Ассемблер
Для чего нужны флаги в ассемблере?
Флаги не в ассеблере, это специальный регист в процессоре, который отражает состояние процессора:
подробнее...

как в ассемблере сравнивать числа
>В любом случае числа необходимо поместить в регистры процессора
не правда.
подробнее...
спросили в AT T ZX Spectrum
ассемблер под линукс и под виндовс различаются и чем?
Ассемблер в бóльшей степени зависит от процессора. Но это если писать программу, работающую
подробнее...
спросили в MOL
ассемблер (умножение)
Команду mul вы неправильно написали. Правило первое - первый множитель всегда должен быть в
подробнее...
спросили в Ассемблер
Подскажите пожалуйста, что такое относительно-косвенная адресация в Ассемблере. Желательно с примером. Очень нужно!
Думаю подробно про способы адресации можно прочитать в любом учебнике по ассемблеру. В двух словах
подробнее...

Помогите найти ошибку в коде на Ассемблере. Вот пример A*X^3+B*X^2+C div X + (D div X) div X
Весь код не проверял, но вот команда div не правильно записана. В любом случае эта команда делит
подробнее...

Программирование. Ассемблер.
Вроде так:

1.Какие утверждения справедливы относительно доступа к параметрам, переданным
подробнее...
Регистр процессора на Википедии
Посмотрите статью на википедии про Регистр процессора
 

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

Имя*

E-mail:*

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