"П.Нортон "Программно-аппаратная организация компьютера IBM PC"" - читать интересную книгу авторасвоем нормальном виде. Это число называется относительной частью адреса.
Сложением этих двух чисел получают полный 20-разрядный адрес, позволяющий адресовать любую из 1.024 К ячеек памяти в адресном пространстве IBM/PC. Сегментная часть адреса задает ячейку с адресом, кратным 16, эта ячейка называется границей параграфа. Окончательное значение указывает конкретную ячейку на определенном удалении от границы параграфа. Рисунок 3.1 показывает как это делается. Чтобы лучше усвоить этот момент, рассмотрим все еще раз. Полный 20-разрядный адрес задается двумя частями, каждая из которых представляет собой 16-разрядное число. Сегментная часть адреса обрабатывается так, как будто он имеет четыре дополнительных нуля в конце. Эта сегментная часть может относиться к любой части всего адресного пространства - но она может указывать только на шестнадцатиричную границу, то есть, на адрес, оканчивающийся на четыре нуля. Относительная часть адреса прибавляется к сегментной части, образуя полный адрес. Относительная часть адреса может задавать любую ячейку памяти, отстоящую от ячейки, указываемой сегментной частью, не более чем на 64К. *** Рис. 3.1. Адресация памяти: 1-обычный 16-разрядный регистр адреса; 2-16бит (4 шестнадцатиричные цифры) 4 бита на шестнадцатиричную цифру; 3-сдвиговый регистр сегмента; шестнадцатиричный ноль; 6-результат - 20-разрядный адрес Хотя относительная часть адреса могла бы задавать только четыре последних цифры адреса, она принимает значения от 0 до без единицы 64К. Большая часть манипуляций с адресами связана с относительной частью адреса. Сегментная часть адреса фактически становится базовым адресом для рабочей области размером ,;К, которую позволяет адресовать относительная часть адреса. Имеется удобный способ записи сегментированных адресов, использование которого программой DEBUG (описанной в главе 6) Вы еще увидите. Кроме того, он хорошо прослеживается в ассемблерных листингах, например в том, который приведен в приложении А к техническому руководству фирмы IBM. Сначала записывается сегментная часть адреса, после нее следует двоеточие, а затем относительная часть адреса. Например, если сегментная часть адреса (в шестнадцатиричной форме) 2222, а относительная часть - 3333, то полный сегментированный адрес будет записываться как 2222:3333. Фактический 20-разрядный адрес будет в шестнадцатиричном виде иметь значение 25553, получаемое таким простым сложением: 22220 + 3333 ____________ |
|
|