Ccf
ccf nebo CCF je instrukce některých procesorů, např. Z80 či ST9. Název instrukce je odvozen z výrazu complement carry flag. Instrukce nastavuje hodnotu příznaku přenosu C na hodnotu opačnou než je hodnota aktuální.

Instrukce procesoru Z80 

Kód instrukce scf je jednobytový, jeho hodnota je 63 desítkově a 3F šestnáctkově. Vykonání instrukce vyžaduje jeden M-cyklus a trvá čtyři T-cykly.

Instrukci je nutné použít v případě, kdy je požadováno nastavení příznaku přenosu na logickou nulu a současně nesmí dojít k ovlivnění ostatních příznaků, v tomto případě musí být instrukce ccf předcházena instrukcí scf. Instrukce scf nastavuje hodnotu příznaku přenosu na logickou jedničku.

Instrukce kromě příznaku přenosu ovlivňuje pouze příznaky, které není možné přímo testovat, příznak znaménka N je po vykonání instrukce ccf nastaven na logickou nulu a i příznak polovičního přenosu H je ovlivněn.

V roce 2012 se věnoval zkoumání funkce procesoru Z80 český programátor Patrik Rak a objevil, že pokud nějaká instrukce procesoru nastavuje některý z příznaků v registru F, následující instrukce scf nebo ccf pouze přenese stav bitů 3 a 5 registru A do odpovídajících bitů registru F, zatímco pokud instrukce procesoru nenastavuje žádný příznak, následující instrukce scf nebo ccf do bitů 3 a 5 registru F uloží výsledek operace OR odpovídajících bitů registru A a registru F.

Odpovídající instrukce v instrukční sadě procesoru Intel 8080 je CMC.

Reference 

Procesory
Z80