Выражения признательности - Страница 75

Выражения признательности - Выражения признательности

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

Подпрограммы и функции

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

При вызове подпрограммы требуется сохранить содержимое программного счетчика для того, чтобы команда возврата могла вернуть управление исходной программе. Это может выполняться автоматически (как часть команды CALL) путем сохранения адреса возврата в стеке. При возврате к исходной программе адрес извлекается из стека и загружается в программный счетчик.

Однако некоторые цифровые системы, например, большие компьютеры серии IBM 370, не имеют стека для сохранения содержимого программного счетчика или других регистров. В этой архитектуре при выполнении команды «goto» (переход к подпрограмме) адрес возврата сохраняется в регистре. При этом ответственность за сохранение адреса возврата возлагается на программиста. Наиболее простой способ имитировать команду «call» — это просто оставить адрес возврата в регистре, если подпрограмма не вызывает другие подпрограммы. При возврате из подпрограммы содержимое этого регистра загружается в программный счетчик.

Go to Top