Поиск:

Ответ в темуСоздание новой темы Создание опроса
> кокой адресный лимит у сегментных регистров? 
:(
    Опции темы
Dreamuchiy
Дата 7.5.2011, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 26.12.2006

Репутация: нет
Всего: -1



Теоретически если сегментные регистры 16 разрядов то получается FFFF: FFFF то есть можно манипулировать памятью от 0 до 4294967296 байт (65536 страниц умноженые на 65536 байт). Вообщем какой лимит например у CS ? Почему тогда дос видит только около мегабайта памяти а 32 разрядная винда типа XP в районе 3гб?

объясните новичку пожалуйста 

Это сообщение отредактировал(а) Dreamuchiy - 7.5.2011, 23:12
--------------------
Мечтаю написать в карман Биллу Гейтсу... Или как минимум посмотреть крах Майкрософт...
PM MAIL   Вверх
Игорь1024
Дата 8.5.2011, 04:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



Про какой режим говорим? IA-32e учитываем?
DOS в RM работает. Форточки в PM. Посмотрите определения на той же википедии, и поймёте.
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
Игорь1024
Дата 8.5.2011, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



Ладно. DOS у нас работает в реальном режиме => всего адресовать можно (1Мб+64Кб-16б). Теперь возьмём форточки, которые используют paging, то есть здесь они могут покрыть всё 32-разрядное пространство (4 гига). Вот и ответ.
З.Ы. В RM в сегментных регистрах хранятся (Реальный_адрес_базы_сегмента/10h). Скажем так.
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
500mhz
Дата 8.5.2011, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



потому что это не означает 0xffff страниц по 65536 байт
к примеру имеем cs=0 si=0
при увеличении cs на 1 получим

cs=1:si=0  =   cs=0:si=16

то есть 16*65536 = 1 мег 


--------------------

PM MAIL ICQ   Вверх
Korod
Дата 24.10.2011, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 24.10.2011

Репутация: нет
Всего: нет



DOS работает в любом режиме, было бы желание программиста. Просто физичекие адреса в Real и Protect модах вычисляются по-разному. Про Real верно было сказано, что 
    (содержимое сегментного рег-ра * 16 + смещение в сегменте)
В Protect моде все совсем иначе, надо почитать про архитектуру процессора, таких сайтов полно.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0671 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.