Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2010, 21:13   #1
TGrey[WoLf]
Пользователь
 
Регистрация: 21.06.2010
Сообщений: 27
По умолчанию Логический и Физический адреса

Здравствуйте, объясните, что это такое и с чем его едят? Завтра нужно рассказать, а я толковой информации найти не могу.
Нашел на форуме
Код:
(FFFF:0000) -> FFFF0
сегмент shl 4 + смещение

физическому адресу соответствует несколько логических
(FFFF0) -> (FFFF:0000) = (FFF0:00F0) ...
первый вариант:
смещение = адрес and 0Fh
сегмент = адрес shr 4
Но не пойму что это значит.

Как собственно получить физический адрес, а с него логический? И можно ли это посмотреть в Турбо Дебагере?
Спасибо
TGrey[WoLf] вне форума Ответить с цитированием
Старый 06.07.2010, 21:46   #2
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Вот из книжки вырезал - можь поможет чем

Цитата:
Память ЭВМ состоит из однобайтовых ячеек. Каждой ячейке присваивается ад-
рес - номер по порядку (от 0 и далее). Такой адрес мы будем называть физическим.
Однако применительно к IBM PC принято представлять адрес в виде двух компонент.
Связано это с тем, что регистры микропроцессора не могут вместить числа длиной
большей двух байт (напоминаем читателю, что мы пока рассматриваем микропроцес-
сор 8086, другие представители данного семейства будут рассмотрены позднее) - мак-
симальное число FFFFH (шестнадцатеричная система!). Поэтому для формирования
адреса используются два регистра (см. ниже). Используя же двухкомпонентное пред-
ставление, можно адресовать память до одного мегабайта.
Двухкомпонентный (логический) адрес мы будем записывать в виде SA:OA, где
SA - адрес сегмента, ОА - смещение в этом сегменте. Обычный физический адрес
ячейки памяти можно получить из двухкомпонентного адреса по формуле: SA* 16+OA.
Умножение на 16 равносильно сдвигу влево на четыре бита. Таким образом мы полу-
чаем возможность оперирования 20-битовыми адресами. Использование двухкомпо-
нентного адреса с необходимостью приводит нас к разбиению памяти на сегменты
(sic!). Размер сегмента не может превышать 64 Kb. Шестнадцатибайтовую величину
принято называть параграфом. Легко видеть, что сегмент должен начинаться на гра-
нице параграфа. Отметим также, что если физический адрес у ячейки один, то двух-
компонентных адресов у нее может быть несколько, разумеется, все они будут равно-
правны. Например, двухкомпонентные адреса FF3AH:2367H и FF38H:2387H указы-
вают на одну и ту же ячейку. Лишний раз подчеркнем, что сегментация памяти - след-
ствие структуры микропроцессора, а именно размеров его адресных регистров. Начи-
ная с микропроцессора 80386,32-битные регистры позволяют адресовать память без
использования сегментации. Фактически вся память в такой модели рассматривается
как один большой сегмент - микропроцессор в этом случае непосредственно опериру-
ет с физическими адресами. Но об этом речь еще впереди.
(C) Пирогов В.Ю. ASSEMBLER. Учебный курс
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 06.07.2010, 22:35   #3
TGrey[WoLf]
Пользователь
 
Регистрация: 21.06.2010
Сообщений: 27
По умолчанию

О спасибо, уже лучше)
TGrey[WoLf] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поясните суть кода на delphi. физический маятник бедный_студент Помощь студентам 2 26.04.2010 19:55
Физический рассчет сил. meizy Паскаль, Turbo Pascal, PascalABC.NET 2 12.04.2010 09:40
Логический оператор If Anatoly555 Помощь студентам 2 21.03.2010 08:53
Логический анализатор NieL Общие вопросы Delphi 1 10.03.2009 13:28
Логический адрес InitInstance Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 24.03.2008 10:33