Cтраница 3
Так как индексный регистр не используется, помещаем 0 в поле индексного регистра команды. Мы знаем, что регистр 15 используется как базовый, но пока не можем вычислить смещение. Базовый регистр 15 указывает адрес начала программы, а смещение должно вычисляться как разность между адресом FIVE и адресом начала программы, который не известен в данный момент. [31]
По-видимому, индексный регистр 4 содержит величину, большую или равную 2000, поэтому после индексирования получается правильный адрес памяти. [32]
По-видимому, индексный регистр 4 содержит величину, большую или равную 2000, поэтому после индексирования получается правильный адрес памяти. [33]
Указатели и индексные регистры могут участвовать в большинстве арифметических и логических операций. Регистры SP, SI и DI также неявно используются в некоторых командах: операции со стеком, операции со строками. [34]
Указатели и индексные регистры могут участвовать в большинстве арифметических и логических операций. Регистры SP, SI и DI также неявно используются в некоторых командах: операции со стеком, операции со строками. В процессе работы микропроцессор производит обращение в память за командами и операндами. Микропроцессор КР1810ВМ86 обеспечивает адресацию до 1 Мбайт памяти. Формирование адреса команд и операндов осуществляется с помощью сумматора адреса, регистров адреса команды и операнда, сегментных регистров. Сумматор адреса производит вычисление 20-разрядного физического адреса команд и операндов путем сдвига базового адреса сегмента, хранящегося в соответствующем сегментном регистре, и сложения его с величиной смещения, находящейся в регистре адреса. При вычислении адреса команды используются содержимое регистра сегмента кода и регистра адреса команды, при вычислении адреса операнда - содержимое регистра сегмента данных ( или дополнительного сегмента) и регистра адреса операнда. [35]
Если же данный индексный регистр используется в подпрограмме и для других целей, то при входе в подпрограмму содержимое этого регистра нужно запомнить в какой-либо рабочей ячейке и восстановить перед выполнением указанной выше команды возврата. [36]
А поскольку числовые и индексные регистры в ЭВМ предназначены для хранения только числовой информации, то числа записываются и хранятся в них в упакованно виде. В алфавитных регистрах и элементах хранится распакованная информация. [37]
Хотя назначение индексных регистров по сравнению с первоначальным значительно расширилось, термин сохранился и в настоящее время может считаться установившимся. [38]
Хотя назначение индексных регистров по сравнению с первоначальным значительно расширилось, термин сохранился. [39]
Если содержимое индексного регистра отлично от нуля, то каждая команда, имеющая знак - ( минус) перед кодом операции, выполняется так, будто ее адрес уменьшен на содержимое индексного регистра. [40]
С помощью индексных регистров можно успешно решать и ряд других вопросов, связанных с использованием подпрограмм. Предположим, например, что какая-либо подпрограмма составляется до того, как определено ее место в памяти. Чтобы избежать многократного последующего переписывания этой подпрограммы применительно к тому или иному конкретному распределению памяти, подпрограмму можно составить таким образом, чтобы она правильно выполнялась на любом месте памяти. [41]
Поскольку в индексном регистре F находится адрес а, то модификация какой-либо команды по этому регистру означает получение фактического адреса строки, помер которой указан в адресной части этой команды. Очевидно, теперь подпрограмма будет правильно выполняться независимо от того, на какое место памяти она будет введена перед началом решения задачи. [42]
Базовый регистр, индексный регистр и смещение в команде также указываются произвольно. [43]
При подсчете в индексный регистр, служащий счетчиком, записывается при засылке требуемое количество повторений и после каждого цикла из содержимого регистра вычитается единица. Команда проверки осуществляет условный переход при равенстве индексного регистра нулю и должна содержать, таким образом, номер индексного регистра и адрес лерехода. [44]
Заметим, что индексные регистры 4 5 6 7 8 должны быть предварительно очищены. [45]