Tu je
inštrukčná sada
Zero flag sa nastaví na nulu, ak je výsledok poslednej operácie nula. Napr:
Kód:
mvi a, 10 ; do registra a vloz 10
cpi 10 ; porovnaj register a s desiatkou: a-10
Po tejto operácii
10 - 10 je výsledok nula, teda zero flag sa nastaví na true [vloží sa tam jednotka]. Ak by výsledok nebol nulový, tak zero flag sa nastaví na nulu [false]. Treba si uvedomiť, že po každej inštrukcii sa nastavujú príznakové registre - teda aj zero flag aj cary flag, no nie všetky inštrukcie menia príznakové registre, napríklad push, pop, atď...
S príznakom zero flag súvisia inštrukcie skoku jz [skoč, ak je zero flag jedna] a jnz [skoč, ak zero flag nie je jedna].
Cary flag sa nastaví na true, ak sa výsledok poslednej operácie nezmestí do registra. Pre prácu v 8080 assembleri máme k dispozícii osembitové registre, čiže maximálne číslo, ktoré do nich môžme uložiť, je v rozsahu 0-255. Ak je výsledok poslednej operácie menšie alebo väčšie, cary flag sa nasstaví na true, ak je v tomto rozsahu, tak sa cary flag nastaví na false. Napr:
Kód:
; ...
; v registri a je ASCII hodnota nejakeho znaku
znova:
cpi '0'
jc dalej
cpi '9'+1
jc znova
; ak sa dostaneme sem, v registri a je ASCII hodnota čísla, čiže 0-9
dalej:
;....
S príznakom cary flag súvisia inštrukcie skoku jc [skoč, ak je cary flag jedna - ak bol prenos] a jnz [skoč, ak zero flag nie je jedna - ak nebol prenos].