Odwrócenie stanu znacznika C
From Atariki
(Różnice między wersjami)
| Wersja z dnia 10:45, 30 wrz 2017 KMK (Dyskusja | wkład) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) |
||
| Linia 8: | Linia 8: | ||
| Kod zajmuje 4 bajty i 6 cykli maszynowych. Operacja nie zmienia stanu akumulatora. | Kod zajmuje 4 bajty i 6 cykli maszynowych. Operacja nie zmienia stanu akumulatora. | ||
| + | |||
| + | Metoda nr 2: | ||
| + | |||
| + | <pre> | ||
| + | bcc _set | ||
| + | clc | ||
| + | .byte $b0 ;rozkaz BCS | ||
| + | _set sec | ||
| + | </pre> | ||
| + | |||
| + | 5 bajtów i 5-6 cykli maszynowych. Operacja nie zmienia stanu znaczników N i Z. | ||
| [[Kategoria:Niezbędnik kodera]] | [[Kategoria:Niezbędnik kodera]] | ||
Aktualna wersja
W procesorach serii 65xx są rozkazy ustawiania i kasowania znacznika C, ale nie ma rozkazu odwracania jego stanu. Gdyby taka operacja była do czegoś potrzebna, można ją zrealizować następująco:
rol
eor #$01
ror
Kod zajmuje 4 bajty i 6 cykli maszynowych. Operacja nie zmienia stanu akumulatora.
Metoda nr 2:
bcc _set
clc
.byte $b0 ;rozkaz BCS
_set sec
5 bajtów i 5-6 cykli maszynowych. Operacja nie zmienia stanu znaczników N i Z.
