Znaczniki: Różnice pomiędzy wersjami
(→Sign) |
|||
Linia 45: | Linia 45: | ||
* [[Rejestry]] | * [[Rejestry]] | ||
* [[Mikroprocesor Z80]] | * [[Mikroprocesor Z80]] | ||
+ | [[Kategoria:Programowanie]][[Kategoria:Assembler]] |
Aktualna wersja na dzień 13:59, 23 gru 2014
Znacznikami lub flagami nazywane są pojedyncze bity rejestru F (Flags Register).
Informują one o stanie mikroprocesora.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
S | Z | H | PV | N | CY |
Bity 3 i 5 nie są używane.
Znaczniki CY, PV, Z i S można testować w rozkazach warunkowych skoków, wywołań i powrotów z podprogramów.
Znaczniki H i N używane są w arytmetyce BCD i nie mogą być testowane bezpośrednio w rozkazach warunkowych. Ich odczyt jest możliwy wyłącznie pośrednio, na przykład z użyciem poniższego kodu
; sprawdzenie stanu znacznika H PUSH AF POP DE BIT 4,E
Spis treści
CarrY
Znacznik przeniesienia. Dla odróżnienia od rejestru C jest oznaczany jako CY. Jego położenie w rejestrze F nie jest przypadkowe. Można powiedzieć, że jest to 9-ty bit akumulatora.
Negation
Znacznik wykorzystywany przez rozkaz DAA do rozróżniania rozkazów ADD i SUB. Po wykonaniu rozkazu ADD znacznik jest kasowany, a po SUB ustawiany na 1.
Wynik rozkazu DAA jest wartością bezwzględną w zapisie BCD, a znak liczby pozostaje w znaczniku N.
Parity or oVerflow
Half carry flag
Zero
Sign
Podobnie jak w przypadku CY, położenie znacznika S w rejestrze flag jest celowe. Jest to bowiem kopia najstarszego bitu wyniku operacji arytmetycznych, który przechowuje znak liczby.