27.03.2019, 06:50 [+3 UTC]
в нашей команде: 3 490 чел. | участники онлайн: 5 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.73 (23.03.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
09.03.2019, 10:08

Форум:
26.03.2019, 12:53

Последний вопрос:
26.03.2019, 09:56
Всего: 149091

Последний ответ:
26.03.2019, 23:21
Всего: 258034

Последняя рассылка:
26.03.2019, 20:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
07.12.2010, 08:59 »
Hooper
Большое спасибо, как раз то, что нужно [вопрос № 181111, ответ № 264561]
09.11.2010, 17:52 »
Андреев Дмитрий Фёдорович
Огромное Спасибо За Помощь!!!! [вопрос № 180577, ответ № 263913]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 661
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 552
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 116

Перейти к консультации №:
 

Консультация онлайн # 194939
Раздел: • Assembler
Автор вопроса: Arthur (Посетитель)
Отправлена: 12.03.2019, 11:02
Поступило ответов: 0

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

если линейный адрес в защищенном режиме (с выключенным страничной адресацией CR0:PG = 0) указывает на начало памяти, то есть база - 00.. доступ (00 - ядро) чтение\запись и по этому адресу записать 1мг данных и перейти в реальный режим, то получится что вектор прерываний,данные биос и все что находится физически по адресу 0-1мг будут удалены и перезаписаны?

Состояние: Консультация закрыта

Oтветов пока не поступило.

Мини-форум консультации № 194939

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 1

 +1 
 
= общий = | 12.03.2019, 12:57 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Arthur:

Естественно smile
Память-то одна и та же. Разные только способы доступа.

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

Arthur
Посетитель

ID: 401281

# 2

= общий = | 12.03.2019, 13:20 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

спасибо за ответ

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 3

 +1 
 
= общий = | 12.03.2019, 14:07 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Arthur:

Как бы Вы не старались, 1-й метр угробить можно только с помощью таких "извращений", которые книгах не описаны. Селекторная организация памяти, как и Страничная, исключает 1-й метр, из числа доступной памяти. Это жертва тому объему памяти, который будет доступен, что значит 1-ин метр, когда у Вас пару гектаров доступны.
smile
Даже если у Вас это получится, то при переходе в RM - постоянно(18,2 раза в секунду) будет вызываться, IRQ0(int 08h) и если там не будет осмысленного кода(т.к. таймер, кроме изменения CMOS времени, еще выполняет "КУЧУ" дополнительных функций), то в лучшем случае железо перегрузится, в худшем зависнет.

-----
Последнее редактирование 12.03.2019, 14:09 Зенченко Константин Николаевич (Старший модератор)

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Arthur
Посетитель

ID: 401281

# 4

= общий = | 13.03.2019, 19:29 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

меня терзали сомнения а что если память в РМ начинается с начала XMS адреса, вот и решил узнать у специалистов smile

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 5

 +1 
 
= общий = | 15.03.2019, 20:37 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Arthur:

Давайте думать логично.
smile
Для перехода из RM в PM, и нормальной работы CPU в РМ, нужна GDT, остальное не важно для кратковременного перехода туда-обратно. Минимальный размер GDT, это 8-ть байт = "0" + 8-мь байт для описания сегмента кода. Прыгнули, присели пару раз, вернулись. Не нужно данных, таймер, тоже не успеет сработать.

Т.е. нужно всего 128 бит(2*8*8), сам регистр GDTR = 48-мь бит. Другими словами, он хранит в себе ссылку на таблицу GDT, где она определена? Угадали? В RM, т.е. 1-ый метр.

Да, с помощью LGDT, можно переместить(GDT, и сформировать новые LDT, IDT, TSS, . . . . ) в другую область памяти, отличную от первого метра.

А теперь вопрос к Вам:
- LGDT RM и LGDT РM, сообщают CPU, что GDT, уже не там, где была раньше(т.е. первый метр).
- CPU безразлично, что записано в GDTR, ему важно, что некоторое количество бит, указывают адрес на саму GDT, где этот адрес находится - безразлично.
- О том, что перенесли GDT, он не знает, т.к. сравнивать интервалы от .. до .., ему нет времени, поэтому он считает, что GDT в первом метре.

И сам вопрос: CPU позволит Вам портить первый метр?

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Arthur
Посетитель

ID: 401281

# 6

= общий = | 16.03.2019, 13:56 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

я думаю да, если таблица GDT не находится в 1 мб и во время перезаписи процессор не возобновит теневую копию регистра (значение базы и лимита),я сомневаюсь конечно но вы же сами сказали что если так извращаться то можно и Лысков Игорь Витальевич то же подтвердил что можно

Arthur
Посетитель

ID: 401281

# 7

= общий = | 16.03.2019, 16:16 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

я не ленюсь все мои знания это теория на практике я только могу написать программу переход РМ,пустой цикл и обратно в RM я пока не могу проверить ответ кодом и все таки можно узнать правильный ответ

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15836 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.73 от 23.03.2019
Версия JS: 1.33 | Версия CSS: 3.35