Читайте также:
|
|
При выполнении команд всех категорий очередная команда извлекается из ячейки оперативной памяти, следующей немедленно за той, из которой была выбрана текущая. Такой порядок выполнения команд программы принято называть естественным. Однако подавляющая часть алгоритмов, реализуемых компьютерными программами, требует время от времени проводить анализ результатов и в зависимости от него выбирать ту или иную ветвь алгоритма. Реализовать подобные операции программно можно с помощью команд, изменяющих естественный порядок выполнения программы. Суть операций, выполняемых этими командами, состоит в принудительном изменении состояния счетчика команд ядра процессора, в котором всегда содержится адрес очередной выполняемой команды.
Команды этой категории включаются в набор команд, исходя из следующих соображений.
В практике программирования очень часто появляется необходимость повторно выполнять отдельные последовательности команд, причем количество повторений может варьироваться от двух-трех до тысяч и сотен тысяч раз. Именно так обрабатываются таблицы данных, состоящие из тысячи и более элементов. Если набор команд не позволит принудительно возвращаться к первой команде такой повторяющейся последовательности, придется многократно дублировать всю последовательность в программе, что, естественно, значительно увеличит ее объем.
Практически все алгоритмы включают этапы принятия решения. При наличии некоторых условий нужно выполнять одни действия, а при их отсутствии — другие. Пусть, например, последовательность команд вычисляет корень квадратный из некоторого числа. Перед тем, как приступить к собственно вычислениям, обязательно нужно проверить знак числа. Если он отрицателен, никакие вычисления выполнять не следует, а пользователю нужно направить сообщение об ошибке.
Сформировать в виде единого модуля большую программу или даже программу среднего размера — задача исключительно сложная. Поэтому чаще всего программа разбивается на отдельные модули, выполняемые по очереди. Эти модули могут находиться в разных областях оперативной памяти, а потому для перехода от одного к другому обязательно потребуется изменить естественный порядок выполнения команд программы.
В архитектурах процессоров существуют такие основные подгруппы команд этой категории — команды ветвления, команды безусловных переходов, команды пропуска, команды вызова подпрограмм, команды возврата из подпрограмм.
Несмотря на то, что присутствие в программе большого числа команд безусловного перехода считается признаком плохого стиля программирования, такие команды обязательно входят в любую архитектуру. Команда безусловного перехода обеспечивает переход по заданному адресу без проверки каких-либо условий.
Дата добавления: 2015-10-02; просмотров: 43 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Перспективы векторных операций | | | Команды ветвления |