"П.Нортон "Программно-аппаратная организация компьютера IBM PC"" - читать интересную книгу автора

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


VAR пример_адреса : adasmem,


а затем непосредственно задать его сегментную и относительную части ('.s'
и '.r', соответственно):


пример_адреса.s : = # 2222;
пример_адреса.r : = # 3333;


Когда все эти присваивания выполнены, можно осуществлять доступ к
памяти с помощью указателя сегментированного адреса:


x : = пример_адреса^;
if(chr(x)> = "a") and (chr(x)< = "z") then
пример_адреса^ : = x - 32;


3.3. Организация памяти IBM/PC

Имея адресное пространство свыше миллиона байт IBM/PC позволяет более
удобно и более гибко использовать память, чем большинство других, меньших
персональных компьютеров. Весь объем памяти распределен довольно
интересным образом. С одной стороны, резервирование определенных ячеек
памяти может наложить ограничение на возможные применения компьютера. В
IBM/PC резервируется несколько областей в верхних адресах памяти. Эти
область имеют особое назначение, а все нижние адреса оставлены для
свободного использования. Таким образом сочетаются достоинства
использования зарезервированных блоков памяти и сохранения как можно
большего объема памяти для свободного использования.
На рис. 3.3. показана простая схема распределения памяти. Верхняя
четверть общего объема памяти, начиная с ячейки C 000 и до конца,
практически всегда занимается постоянным запоминающим устройством или ПЗУ.
(В дальнейшем все упоминающиеся адреса будут без специального напоминания
даваться в шестнадцатиричном виде.) Фактически ПЗУ занимает только верхние
8К, начиная с адреса FE00, в которых находится система BIOS (подробно
описанная в главе 6). Система BIOS в ПЗУ включает все основные служебные
процедуры IBM/PC, в том числе тестовые программы, которые запускаются при
включении компьютера.
Следующие (если идти сверху вниз) 32К используются для хранения
интерпретатора Бейсика. Бейсик-ПЗУ начинается с ячейки F600 и