Декремент f, пропустить команду, если 0

Синтаксис: DECFSZ f,d

Операнды: 0<=f<=31, [0,1 ]

Операция: (f)—1->(dest); пропустить, если (dest)=0

Биты состояния: Не изменяются.

КОД: 0010 11df ffff

Описание: Содержимое регистра f уменьшается на 1. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. Если результат не равен 0, выполняется следующая команда. Если результат равен 0, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо нее в следующем цикле выполняется NОР, в результате команда выполняется за два цикла.

Циклов: 1(2)

Пример: HERE DECFSZ CNT, 1

GOTO LOOP

CONTINUE

Перед выполнением команды: PC =адрес HERE

После выполнения команды: CNT=CNT-1

еcли СNT=0, РС=адрес CONTINUE

ecли СNT< >0, РС=адрес HERE+1

 

GOTOGoto address