Показать сообщение отдельно
Старый 03.06.2004, 02:16     # 15
Slanj
::VIP::
 
Аватар для Slanj
 
Регистрация: 09.05.2004
Адрес: Киев
Сообщения: 670

Slanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj СэнсэйSlanj Сэнсэй
Ну вот, мы уже идем на поправку! Ты немножко неправильно понял - селектор это есть адрес в памяти, деленный на 16. Как я уже говорил, это чтобы больше памяти адресовать. А чтобы получить реальный адрес этот селектор надо сместить на 4 бита влево или * 16. Как аналог, представь, в одном килограмме 1000 граммов, а в одном селекторе (или параграфе) 16 бит.
Cs, Ds, Es, Fs, Gs и Ss - это сегментные регистры, используются для хранения сегмента адреса.
Cs - сегмент кода - код программы
Ds - сегмент данных - сегментная часть адреса расположения данных программы
Ss - сегмент стека - адрес стека
Es, Fs, Gs - дополнительные сегментные регистры, могут содержатьсегментную часть любого адреса памяти.
Смещения хранятся в Bp, Sp, Si, Di
Bp - указатель базы - хранит смещение в области данных
Sp - смещение вершины стека
Si, Di - индекс источника, индекс приемника с ними и будешь скоро работать
Si - смещение данных, которые должны быть перемещены
Di - смещение, куда должны быть перемещены
Смещение следующей выполняемой команды всегда хранится в специальном регистре — Ip
Slanj вне форума