Rozkaz SLL: Różnice pomiędzy wersjami
Z ZX Spectrum Wiki
Linia 2: | Linia 2: | ||
<p>Przesunięcie arytmetyczne w lewo daje taki sam wynik jak logiczne, więc teoretycznie nie ma rozkazu SLL, ponieważ jest zbędny.<br> | <p>Przesunięcie arytmetyczne w lewo daje taki sam wynik jak logiczne, więc teoretycznie nie ma rozkazu SLL, ponieważ jest zbędny.<br> | ||
Jednak w oryginalnych mikroprocesorach Z80 firmy Zilog wykonanie rozkazu o kodzie, w którym powinien się znaleźć SLL daje wynik jak poniżej.</p> | Jednak w oryginalnych mikroprocesorach Z80 firmy Zilog wykonanie rozkazu o kodzie, w którym powinien się znaleźć SLL daje wynik jak poniżej.</p> | ||
− | <i><b>S</b>hift <b>L</b>eft <b>L</b>ogic with 1 insertion</i> - przesunięcie logiczne w lewo | + | <i><b>S</b>hift <b>L</b>eft <b>L</b>ogic with 1 insertion</i> - przesunięcie logiczne w lewo z wpisaniem 1 do bitu 0 |
{|cellpadding="0" | {|cellpadding="0" | ||
|- | |- |
Wersja z 09:27, 11 cze 2014
Przesunięcie arytmetyczne w lewo daje taki sam wynik jak logiczne, więc teoretycznie nie ma rozkazu SLL, ponieważ jest zbędny.
Jednak w oryginalnych mikroprocesorach Z80 firmy Zilog wykonanie rozkazu o kodzie, w którym powinien się znaleźć SLL daje wynik jak poniżej.
Shift Left Logic with 1 insertion - przesunięcie logiczne w lewo z wpisaniem 1 do bitu 0
CY | ◄ | ─ | r | ◄─ 1 | ||
7 | 0 |
Adresowanie rejestrowe
- SLL A
- SLL B
- SLL C
- SLL D
- SLL E
- SLL H
- SLL L
Liczba bajtów | 2 |
---|---|
Liczba taktów zegara | 8 |
Znaczniki | |||||
---|---|---|---|---|---|
C | Z | PV | S | N | H |
↕ | ↕ | P | ↕ | 0 | 0 |
Adresowanie pośrednie
- SLL (HL)
Liczba bajtów | 2 |
---|---|
Liczba taktów zegara | 15 |
Znaczniki | |||||
---|---|---|---|---|---|
C | Z | PV | S | N | H |
↕ | ↕ | P | ↕ | 0 | 0 |
Adresowanie indeksowane
- SLL (IX+u)
- SLL (IY+u)
Liczba bajtów | 4 |
---|---|
Liczba taktów zegara | 23 |
Znaczniki | |||||
---|---|---|---|---|---|
C | Z | PV | S | N | H |
↕ | ↕ | P | ↕ | 0 | 0 |