"П.Нортон "Программно-аппаратная организация компьютера 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 и |
|
|