Разветвления в программе могут осуществляться по состоянию триггеров (флажков) регистра признаков F. Регистр состоит из 5 триггеров:
Тс – триггер переноса, устанавливается в состояние "1", когда в результате выполнения операции произошел перенос из старшего разряда D7. В противном случае триггер устанавливается в состояние "0";
Тас – триггер дополнительного переноса, устанавливается в состояние "1", когда произошел перенос из четвертого разряда D3;
Тz – триггер нуля, устанавливается в состояние "1", если результат операции равен нулю;
Тs – триггер знака, устанавливается в состояние "1", если в результате операции в старшем разряде D7 будет "1";
Тр – триггер паритета, устанавливается в состояние "1", если в результате операции количество единиц четное.
Отметим основные особенности формирования триггеров признаков:
· команды пересылки и переходов не изменяют состояния триггеров признаков;
· команды увеличения или уменьшения содержимого одиночного регистра используют все признаки, за исключением признака переноса Тс;
· команды увеличения или уменьшения содержимого пар регистров не изменяют состояния триггеров признаков;
· команды арифметических операций используют все признаки;
· при выполнении логических операций триггеры переноса Тс и Тас сбрасываются в состояние "0";
· команды сложения содержимого пар регистров используют только признак переноса Тс.
Для организации разветвлений существует 8 команд условного перехода:
JZ ADR – после выполнения этой команды управление будет передано команде, находящейся по адресу АDR, если Тz = 1, в противном случае будет выполнена команда, следующая за JZ ADR: