Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Оперативная память представляет собой совокупность элементарных ячеек для хранения информации – байтов, каждый из которых имеет свой собственный номер, называемый адресом. Адрес позволяет обращаться к любому байту памяти. Структура адреса MS DOS – это два 16-разрядных слова типа WORD, которые трактуются как сегмен т и смещение внутри сегмента. Сегмент – это участок памяти, имеющий длину 65536 байт (64 Кбайт = 216 байт) и начинающийся с физического адреса, кратного 16 (т.е. 0, 16, 32 и т.д.). Смещение указывает, на каком расстоянии от начала сегмента находится нужный байт памяти. Таким образом, любая ячейка адресного пространства определяется парой чисел СЕГМЕНТ: СМЕЩЕНИЕ.
Адресное пространство современных компьютеров гораздо больше 64 Кбайт и организовано оно последовательными непрерывными областями -сегментами. Для адресации в пределах, например, 1 Мбайта необходимо 20 двоичных разрядов (1 Мбайт = 220 байт), которые получаются из двух 16-разрядных слов (сегмента и смещения) следующим образом: содержимое сегмента сдвигается влево на 4 разряда, освободившиеся правые разряды заполняются нулями, результат складывается с содержимым смещения (рис. 9).
Рис. 9. Схема формирования адреса
Фрагмент памяти размером 16 байт называется параграфом, следовательно, сегмент адресует память с точностью до параграфа, а смещение – с точностью до байта. Адреса принято записывать в 16-ричном формате.
Можно получить адрес ячейки оперативной памяти, отсчитанный от начала памяти, т.е. от адреса 0000: 0000. Такой адрес называется сплошным, его элементом хранения является число типа LongInt.
Сплошной адрес = СЕГМЕНТ * 16 + СМЕЩЕНИЕ.
Существует понятие нормализованного адреса, у которого смещение находится в диапазоне 0..15 ($0000..$000F). Сплошной адрес переводится в нормализованный формат следующим образом:
СЕГМЕНТ = Сплошной адрес div 16,
СМЕЩЕНИЕ = Сплошной адрес mod 16.
Дата публикования: 2014-11-26; Прочитано: 293 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!