Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ: тут такое дело...

Отправлено Dima_Ag 19 января 2007 г. 14:36
В ответ на: OFF 2All Коллективный разум помогите в споре: отправлено <font color=gray>Nikolaj</font> 19 января 2007 г. 14:12

Если процессор работает в реальном режиме, то доступ возможен по любым адресам. В защищённом режиме всё несколько интереснее.
Чтобы процессор смог выполнять программу , регистр CS (в Protected Mode он называется СЕЛЕКТОРОМ) должен указывать на ДЕСКРИПТОР сегмента типа "исполнимый код". Доступ к участку памяти, описываемому дескриптором типа "исполнимый код" возможен только на чтение и исполнение. ЗАПИСЬ В адреса памяти через селектор типа "исполнимый код" приводит к генерации исключения Genral Protection на любом уровне привилегий. Т.е. через CS писать в память нельзя.
Другое дело, что один и тот же участок памяти можно отображать разными дескрипторами. Если дескрипторы "кода" и "данных" отображают одно и то же пространство памяти, то писать можно через дескриптор "данных", а данные, естественно, также попадут и в сегмент кода.
проще говоря, можно так mov DS:[EAX],100;
и нельзя так mov CS:[EAX],100;

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 12:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru