Скачиваний:
29
Добавлен:
28.03.2015
Размер:
116.74 Кб
Скачать
  1. Указатель стека (ус).

Стек и указатель стека служат для осуществления вызова подпрограмм и возврата в прерванную подпрограмму.

Под стек отводится область памяти, в которой временно сохраняется информация, необходимая микропроцессору, для осуществления возврата из подпрограммы. Информация представляет собой текущее значение СК. Эту информацию микропроцессор загружает в стек по команде вызова подпрограммы.

Текущим значением СК всегда является адрес следующей команды, поэтому сохраненный в стеке адрес указывает на команду, следующую непосредственно за командой вызова подпрограммы.

Поэтому когда при возврате из подпрограммы микропроцессор восстанавливает из стека значение СК, появляется возможность продолжить прерванную основную программу с требуемой команды, то есть с команды, следующей за вызовом подпрограммы.

В программу может быть вложена своя подпрограмма (то есть вложенная подпрограмма). При вызове вложенных подпрограмм необходимо сохранять информацию о возврате в вызванную подпрограмму. Таких подпрограмм, может быть достаточно много и при последовательном возврате в основную программу необходимо соблюдать очередность извлечения сохраненных адресов. Стек является наиболее удобным типом данных для организации такой очередности. Поддержание порядка здесь осуществляется с помощью указателя стека - регистра, в котором хранится адрес стека, определяющий первый свободный элемент в стеке. Значение этого адреса увеличивается или уменьшается на единицу при записи или извлечении из стека.

Регистр УС имеет длину равную 16 битам, так как хранит адреса памяти и может содержать любой из 216 + 1 = 65537 адресов ЭВМ. Так много вложенных подпрограмм никто не использует. Обычно их число ограничивается единицами, и область памяти, отводимая под стек, также невелика.

Увлекшись при программировании можно нарушить границы стека, разрушив данные, хранящие в других важных областях памяти. Чтобы этого не происходило в микропроцессоре предусмотрена возможность слежения за содержимым регистра УС. Как только адрес указателя стека превысит допустимые величины нижней и верхней границ микропроцессор может остановить выполнение программы. Поэтому при пользовании стеком программист должен заранее рассчитать его максимальную длину во избежание критических ситуаций.

  1. Регистр общего назначения (рон).

РОН предоставляют программисту расширение возможностей по обработке данных (регистры В и С). Число этих регистров в разных микроЭВМ различны. В 16-разрядной их может быть два. Они служат для временного промежуточного заполнения данных, участвующих в обработке.

Регистры В и С совместно могут выполнять функции 16-разрядного регистра, содержимое которого можно, к примеру, помещать в РА. Регистры В и С можно использовать отдельно и совместно.

6

Соседние файлы в папке МПС лек