Cтраница 2
Относительный адрес определяется вычитанием содержимого заданного индексного регистра из а. Как будет показано ниже, содержимое индексных регистров можно изменять с помощью специальных команд. Возможна также непрямая адресация. [16]
Смещение, прибавляемое к содержимому индексного регистра, обычно принимает значение, лежащее в диапазоне от 0 до а) 25510, б) FF16, в) 377в или г) во всех указанных здесь диапазонах. [17]
При косвенной адресации с преиндексацией содержимое индексного регистра используется для вычисления адреса до поиска косвенного адреса памяти; этот вид адресации может быть применен для доступа к операндам с помощью указателя который является частью записи или массива записей. Этот вид адресации используется также для доступа к операндам через массив указателей. При косвенной постиндексной адресации прибавление содержимого индексного регистра для определения исполнительного адреса осуществляется после нахождения косвенного адреса памяти. Косвенная постиндексная адресация может быть применена для доступа к элементу массива, адресуемому с помощью указателя. [18]
При выполнении команды сравнения используется 16-разрядное содержимое индексного регистра. Из содержимого индексного регистра вычитается 2-байтовый непосредственный операнд, содержащийся в команде сравнения. Как и во всех других командах сравнения, результат вычитания не записывается в память. В зависимости от результата вычитания в регистре состояния устанавливается соответствующее значение одного из следующих разрядов: нулевого результата, отрицательного результата или переноса. Отметим еще раз, что операция сравнения производится только над словами данных, т.е. она не может выполняться над отдельными байтами индексного регистра. [19]
Адрес основной памяти формируется сложением содержимого индексного регистра, базового регистра и смещением. Нули в любом из полей указывают на отсутствие соответствующего компонента адреса. [20]
Команды BXLE и ВХН одновременно изменяют содержимое индексного регистра и управляют переходом. [21]
Если же после увеличения на 1 содержимого индексного регистра его содержимое оказывается равным О, то будет выполнена команда уменьшения на 1 содержимого индексного регистра. [22]
Если да, проверяется, доступно ли содержимое индексного регистра. Если обращений к данным нет, или все требуемые данные доступны, переходим к блоку 7, в котором команда пересылается из РК в АУ. В блоке 8 модель проверяет, не является ли код операции в действительности специальной командой останова, вставленной аналитиком. [23]
Однако для упрощения использования подпрограмм задачу сохранения содержимого индексного регистра целесообразно возложить на каждую из подпрограмм. Если какая-либо подпрограмма использует этот регистр для своих целей, то она должна предварительно запомнить исходное содержимое регистра, а перед возвратом в основную программу - восстановить это содержимое. [24]
Адрес, значение которого изменено на величину содержимого индексного регистра. [25]
Напомним, что циклические операции служат для задания содержимого индексного регистра, с помощью которого можно изменять исполнительный адрес у команд, имеющих специальный признак. [26]
Переход происходит в зависимости от значения параметра, характеризующего содержимое индексного регистра. Можно выделить две основные формы прэверки, используемые в реальных машинах: сравнение с пределом и подсчет. [27]
Когда управление возвращается, состояние вычислительной машины, включая содержимое индексных регистров и накапливающего сумматора, должно быть тождественным состоянию на момент прерывания. Это означает, что программа прерывания должна сохранить указанное состояние и вернуть его после возвращения управления. [28]
Переход происходит в зависимости от значения параметра, характеризующего содержимое индексного регистра. Можно выделить две основные формы проверки, используемые в реальных машинах: сравнение с пределом и подсчет. [29]
Способ адресации, при котором исполнительный адрес равен сумме содержимого индексного регистра и базы, заданной в команде. [30]