Rozkaz IN

Z ZX Spectrum Wiki

INput data - odczyt danych z urządzenia zewnętrznego

Adresowanie bezpośrednie

  • IN A,(n)

Adres n jest wystawiany na dolną połówkę (A0..A7) magistrali adresowej co umożliwia zaadresowanie jednego z 256 dostępnych portów dla urządzeń zewnętrznych. Zawartość akumulatora wystawiana jest na górną połówkę (A8..A15) magistrali adresowej. Następnie stan szyny danych wymuszany przez adresowane urządzanie jest wpisywany do rejestru akumulatora.

Liczba bajtów 2
Liczba taktów zegara 11
Znaczniki
C Z PV S N H

Adresowanie pośrednie

  • IN (C)
  • IN A,(C)
  • IN B,(C)
  • IN C,(C)
  • IN D,(C)
  • IN E,(C)
  • IN H,(C)
  • IN L,(C)

Zawartość rejestru C jest wystawiana na dolną połówkę (A0..A7) magistrali adresowej co umożliwia zaadresowanie jednego z 256 dostępnych portów dla urządzeń zewnętrznych. Jednocześnie zawartość rejestru B wystawiana jest na górną połówkę (A8..A15) magistrali adresowej. Następnie stan szyny danych wymuszany przez adresowane urządzanie jest wpisywany do wybranego rejestru i/lub ustawiane są znaczniki.

Liczba bajtów 2
Liczba taktów zegara 12
Znaczniki
C Z PV S N H
P 0

Nieudokumentowane

  • IN F,(C)

Z metody kodowania adresów rejestrów mikroprocesora Z80 wynika, że powinna występować również taka kombinacja. W tym miejscu jednak znajduje się rozkaz IN (C), który nie wpisuje bezpośrednio stanu szyny danych do rejestru F, a tylko ustawia konkretne znaczniki na podstawie tej wartości.