Cтраница 3
Команда условного перехода производит изменение последовательности выполнения команд лишь при соблюдении определенных условий. В БЭСМ условные переходы осуществляются командами сравнения. Команды сравнения сравнивают два числа, вызываемые по первому и второму адресу, и в зависимости от результата сравнения обеспечивают переход или к команде, номер которой указан в третьем адресе, или же к следующей по номеру команде. [31]
Команда условного перехода, условный переход [ conditional jump instruction ] - команда, определяющая передачу управления и условия, которые должны быть выполнены, чтобы эта передача ( условный переход) была реализована. [32]
Команды условного перехода. [33] |
Команды условного перехода изменяют последовательность выполнения команд программы в зависимости от текущего состояния отдельных флагов Z, S, P, С регистра признаков результата. Команды условного перехода описаны в табл. 2.6. Если условие, указанное в команде, выполняется, то осуществляется переход по адресу, заданному операндом; в противном случае выполняется следующая команда. [34]
Формат команды перехода. [35] |
Команды знаковых условных переходов применяются в тех случаях, когда операнды рассматриваются как числа со знаком. [36]
Условия переходов, используемые в процессоре Н8000. [37] |
Команда условного перехода JR cc offset содержит 8-разрядное поле смещения со знаком ( offset) и 4-разрядное поле ее, которое служит для задания условия, подлежащего проверке ( табл. 5.4.) Все команды процессора Н8000 должны начинаться на границе слова. Поэтому переход всегда должен выполняться на четное число байтов. Данное обстоятельство используется в процессоре Н8000 для увеличения диапазона адресов переходов. Следовательно, если значение смещения равно 5, то переход ( в случае выполнения условия) осуществляется на пять слов вперед. В программах, написанных на языке ассемблера, поле операнда команды JR задает действительный 16-разрядный адрес перехода, а ассемблер вычисляет соответствующее 8-разрядное смещение для машинной команды, выдавая сообщение об ошибке, если адрес перехода выходит за пределы допустимого диапазона. [38]
Команды условного перехода ПЕКЛ, ПЕОН, ПЕО, ПЕКД ( 57 - 60, табл. 4) предназначены для аппаратурной сигнализации о возникновении ошибки или сбоя. Использование этих команд наряду с сигнализацией обеспечивает возможность ветвления программы с целью перехода к участкам программы. [39]
Команды косвенного условного перехода с адресом перехода, записанного в регистры RGO - RG3 или в регистры RG4 - RG6, удобно использовать для организации различного рода комбинаций вычислений. [40]
Некоторые команды условного перехода, такие, как команды ВСТ и ВХН, не имеют в предложении поля маски. Они сравнивают значение содержимого операнда с заданным численным значением и затем решают, нужно ли в результате этого сравнения производить переход. [41]
Существуют команды условных переходов, позволяющие МП принимать решение в зависимости от получаемых результатов: УСЛОВНЫЙ ПЕРЕХОД К КОМАНДЕ; УСЛОВНЫЙ ПЕРЕХОД К ПОДПРОГРАММЕ; УСЛОВНЫЙ ВОЗВРАТ ИЗ ПОДПРОГРАММЫ. Эти команды выполняются или не выполняются в зависимости от результата выполнения предыдущей команды программы. [42]
Каждая команда условного перехода требует затраты дополнительного времени и усложняет как программирование, так и работу ЭВМ. Поэтому целесообразно так составить предварительную программу, чтобы при решении заданного набора задач использовать минимальное количество команд условного перехода. [43]
Каждая команда условного перехода, вызова ПП или возврата из ПП имеет по восемь вариантов в зависимости от выбранного условия. Команда POP PSW влияет на все флаги. [44]
Существуют команды условных переходов, позволяющие МП принимать решение в зависимости от получаемых результатов: УСЛОВНЫЙ ПЕРЕХОД К КОМАНДЕ; УСЛОВНЫЙ ПЕРЕХОД К ПОДПРОГРАММЕ; УСЛОВНЫЙ ВОЗВРАТ ИЗ ПОДПРОГРАММЫ. Эти команды выполняются или не выполняются в зависимости от результата выполнения предыдущей команды программы. [45]