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

Nieudokumentowany

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