Ассемблер и программирование для IBM PC



         

ГЛАВА 1. Введение в семейство персональных компьютеров IBM PC - часть 13


Выделение памяти. Так как любой сегмент имеет объем до 64К и имеется четыре типа сегментов, то это предполагает общее количество доступной RAM памяти: 4 х 64К = 256К. Но возможно любое количество сегментов. Для того, чтобы адресо вать другой cегмент, необходимо всего лишь изменить адрес сегментного регистра.

Ассемблер для IBM PC 14

RAM включает в себя первые три четверти памяти, а ROM - последнюю четверть. В соответствии с картой физической памяти микрокомпьютера, приведенной на рис. 1.4, первые 256К RAM памяти находятся на системной плате. Так как одна область в RAM зарезервирована для видеобуфера, то имеется 640К доступных для использования программистом, по крайней мере в текущих версиях DOS. ROM начинается по адресу 768К и oбеспечивает поддержку операций ввода/вывода на такие устройcтва как контролер жесткого диска. ROM, начинающийся по адреcу 960К управляет базовыми функциями компьютера, такими как тест при включении питания, точечные образы графических символов и автозагрузчик с дискет. Все дальнейшие упоминания RAM используют общий термин - память.

Адресация. Все ячейки памяти пронумерованы последователь но от 00 - минимального адреса памяти. Процессор обеспечива ет доступ к байтам или словам в памяти. Рассмотрим десятич ное число 1025. Для записи в память шест. представления этого числа - 0401 требуется два байта или одно слово. Оно состоит из cтаршей части - 04 и младшей части - 01. Система хранит в памяти байты слова в обратной последовательности: младшая часть по меньшему адресу, а старшая - по большему адресу. Предположим, что процессор записал шест. 0401 из регистра в ячейки памяти 5612 и 5613, следующим образом:

|01|04| | | ячейка 5612, ячейка 5613 младший байт старший байт

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




Содержание  Назад  Вперед