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

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

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

Операція: (f) – 1 -> (dest); пропустити, якщо (dest) = 0

Біти стану: Не змінюються.

КОД: 0010 11df ffff

Опис: Вміст регістра f зменшується на 1. Якщо d = 0, результат зберігається в регістрі W. Якщо d = 1, результат зберігається в тому ж регістрі f. Якщо результат не дорівнює 0, виконується така команда. Якщо результат дорівнює 0, то наступна команда, зчитувана в поточному командному циклі, ігнорується, і замість неї в такому циклі виконується NOP, у результаті команда виконується за два цикли.Циклів: 1(2)

Приклад: HERE DECFSZ CNT, 1

GOTO LOOP

CONTINUE

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

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

якщо СNT = 0, РС = адреса CONTINUE

якщо СNT <> 0, РС = адреса HERE + 1