|
|
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
Что такое сегментный адрес и смещение? А то через поисковики ничего хорошего не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 12:23 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял, то вот: Память в компьютере разбита на страницы: сегментный адрес это адрес страницы, а смещение это сколько нужно отступить байт(бит или чего еще-не помню уже) от ее начала. Или если в контексте динамических массивов, то адрес указывает на начало участка памяти, в зависимости от типа смещение составляет 8 байт для Дабл, 2 или 4 для Инт. это зависит от типа указателя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 12:31 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
Ясно. Я еще поискал и нашел еще к примеру для адреса 0120dm43 сегмент 0120, а смещение dm43 - количество отступов от нулевого элемента сегмента 0120. Ну собственно что ты и говорил, вроде разобрался, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 13:10 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
zloy denЕсли я правильно понял, то вот: Память в компьютере разбита на страницы: сегментный адрес это адрес страницы, а смещение это сколько нужно отступить байт(бит или чего еще-не помню уже) от ее начала. Вышеприведенное есть полная лажа. Не слушайте злого дена. Автору же исходного вопроса предлагаю задавить свое любопытство и забыть об этом, потому как это ему уже никогда не понадобится. Ну если конечно он не занимается программированием на ассемблере i386 под DOS. Если так -- дайте мне знать, я смогу изложить. Ну и еще могу добавить, что ЭТО - особенность работы процессоров Intel 8086-80286 в так называемом "реальном" режиме адресации памяти. Процессоры и сам режим безнадежно устарели и ушли в историю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 13:20 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
MasterZivНу и еще могу добавить, что ЭТО - особенность работы процессоров Intel 8086-80286 в так называемом "реальном" режиме адресации памяти. Процессоры и сам режим безнадежно устарели и ушли в историю. Ну в защищеном режиме сегментация памяти тоже есть. Только у нее теперь другой смысл. :) В любом случае, пока существуют сегментные регистры в процессоре будет и сегментация памяти :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 18:51 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
Хорошо, если в защищеном нету сегментов, скажи мне что означают циферки в сегментных регистрах? Или эти регистры в защищеном режиме так, для красоты? :) Есть там сегменты, есть. Просто они очень другие, нежели в реальном. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 23:18 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
Дескрипторы, которые в отличие от сегментов адресами не являются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 09:00 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
Причем дескрипторы, насколько я помню, это только часть адреса, причем уже результирующего, сложенного "сегмента" и "смещения". В защищенном режиме регистры типа ES SS и SP EP используются просто как базовый адрес и смещение , вариация косвенной адресации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 10:18 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
В регистре лежит индекс дескриптора. Сам дескриптор в таблице дескрипторов. В дескрипторе есть базовый адрес. Чего гадать-та ??? взять книжку по i386 да почитать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 13:41 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
MasterZivвариация косвенной адресации. Все верно :) Но пользовательская программа все равно же не может получить доступа ко всей наличествующей в компьютере физической и уж тем более ко всей системной виртуальной памяти разом. Верно? Пользовательская программа получает доступ только к участкам. А что такое участки как не сегменты? :) Сегментации памяти нету только на машинах в которых количество физической памяти меньше или равно разрядности одинарного адресного регистра процессора. Причем при появлении виртуальной памяти, автоматически появляется и сегментация. На Intel платформе последней без сегментной системой были кажется машины на базе I8080 с 64-мя килобайтами памяти. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 18:43 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
Но пользовательская программа все равно же не может получить доступа ко всей наличествующей в компьютере физической Может и уж тем более ко всей системной виртуальной памяти разом. Такого вообще не бывает. Верно? Пользовательская программа получает доступ только к участкам. А что такое участки как не сегменты? :) Да в том-то и дело, что нет никаких участков. Причем при появлении виртуальной памяти, автоматически появляется и сегментация. Ты путаешь виртуальную переадресацию и сегментную адресацию. Первое недоступно приложению. Второе - наоборот, только приложением и поддерживается. Второе давно умерло как класс , и слава Богу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 21:14 |
|
||
|
Вопрос
|
|||
|---|---|---|---|
|
#18+
MasterZivТы путаешь виртуальную переадресацию и сегментную адресацию. Первое недоступно приложению. Второе - наоборот, только приложением и поддерживается. Второе давно умерло как класс , и слава Богу. Я не путаю. Это ты путаешь сегментацию и пересекающиеся сегменты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 22:36 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33380196&tid=2029152]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 554ms |

| 0 / 0 |
