248
O
Umieść zawartość akumulatora na szynie danych w celu transmisji do wybranego urządzenia wyjściowego.
110 10 0 11 ba jt2
cyklit 3 stanów: 10 wsk: żaden
El Umożliwienie przerwania (Enable Łnterrupts)
(DtTE) 1 •
Ustaw wewnętrzny przerzutnik INTE w stan 1 a tym samym umożliw przerwania począwszy od następnego rozkazu.
cykli: 1 stanów: 4 wsk: żaden DI Uniemożliwienie przerwania (Disable łnterrupts)
(inte)—o
Skasuj wewnętrzny przerzutnik UFIE w stan O, a tym samym uniemożliw przerwania począwszy od następnego rozkazu.
cykli: 1 stanów: 4 wsk: żaden
HI/T Zatrzymaj się (Halt)
Po otrzymaniu rozkazu HIT aktywność procesora zostaje zatrzymana i przechodzi on do stanu ZATRZYMANIE (HALT)
Zawartość wszystkich rejestrów i wskaźników pozostaje niezmieniona.
cykli: 2 stanów: 7 wsk: żaden
NOP . Nic nie rób (No op)
(PC) —(PC) + 1
Nie wykonuj żadnej operacji 1 przejdź do wykonania następnego rozkazu.
cykli: 1 stanów: 4 wsk: żaden
Poniżej podamy komentarz wyjaśniający działanie niektórych z przedstawionych rozkazów.
Rozkazy przesyłania, są to rozkazy powodujące przesyłanie danych pomiędzy rejestrami, komórkami pamięci (M0V, IDA, STA, IHID, SHID, IDAX, STAX, XCHG) oraz wpisywanie drugiego lub drugiego i trzeciego bajtu rozkazu do wybranego rejestru, pary rejestrów lub komórki pamięci (MVI, LXI). Wybranie rejestru lub pary rejestrów odbywa się poprzez wpisanie binarnego numeru rejestru lub pary w miejsce liter DDD, SSS lub RP w kodzie rozkazu (M0V, MVI, LXI, LDAX, STAX). Adres-komórki pamięci określony jest przez zawartość pary rejestrów H i L - umieszczoną tam wcześniej innym
rozkazem przed pojawieniem się właściwego rozkazu przesłania - (1JOT, U7I) lub przez zawartość pary rejestrów B, C lub D, E (LDAX, STAX), lub przez drugi i trzeci bajt rozkazu (ISA, STA, IHLD, SHID).
Rozkazy dodawania. Są to rozkazy powodujące binarne dodanie zawartości rejestru A i zawartości wskazanego rejestru lub komórki pamięci (ADD, ADC) lub drugiego bajtu rozkazu (ASI, ACI). Wynik dodawania umieszczony zostaje w rejestrze A. Rozkazy dodawania z przeniesieniem (ADC, ACI) pozwalają na dodawanie liczb o ilości cyfr większej od 8. Ponadto, oprócz rozkazów, gdzie jednym z operandów jest rejestr A, występuje rozkaz dodania zawartości wybranej pary rejestrów lub wskaźnika stosu do zawartości pary rejestrów H i L (DAD).
Rozkazy odejmowania. Są to rozkazy powodujące odjęcie od zawartości rejestru A zawartości wybranego rejestru lub komórki pamięci (SUI5, SBB), lub drugiego bajtu rozkazu (SUI, SBI). Wynik odejmowania w kodzie uzupełnienia do 2 umieszczony zostaje w rejestrze A. Rozkazy odejmowania z pożyczką (SBB, SBI) pozwalają na odejmowanie liczb o ilości cyfr większej od 8.
Rozkazy korekcji dzlesletae.1. Rozkaz ten (DAA) powoduje korekcję zawartej w akumulatorze sumy binarnej dwu liczb BCD w celu uzyskania jej w postaci BCD (patrz p. 5.11.2). Bp. gdy w rejestrach A i B znajdują się dwie liczby BCD, sekwencja rozkazów: ADD B, DAA, spowoduje, że w rejestrze A będzie się znajdowała suma w postaci BCD tych dwu liczb.
Rozkazy przyrostu. Są to rozkazy powodujące przyrost o 1 (INR, INX) lub zmniejszenie o 1 (DCR, DCX) zawartości wybranego rejestru, pary rejestrów lub komórki pamięci.
Rozkazy logiczne. Są to rozkazy obliczające iloczyn logiczny sumę logiczną, sumę modulo 2 pomiędzy poszczególnymi bitami rejestru A a odpowiadającymi im bitami wybranego rejestru lub komórki pamięci (ANA, ORA, XRA), lub drugiego bajtu rozkazu (AHt, ORI, XRI). Wynik umieszczony zostaje w rejestrze A. Ponadto do rozkazów logicznych zalicza się rozkazy porównania zawartości rejestru A z zawartością wybranego rejestru lub komórki pamięci (CUP), lub drugim bajtem rozkazu (CPI). Wynik porównania pobudza odpowiednie wskaźniki.
Rozkazy przesunięcia. Są to rozkazy powodujące przesunięcie zawartości A o jeden bit w prawo lub lewo.
Rozkazy skoku. Są to trzybajtowe rozkazy, których wykonanie powoduje przejście procesora do rozkazu o adresie wskazanym przez drugi 1 trzeci bajt, czyli skok do wskazanego adresu. Rozkaz skoku może być bezwarunkowy (JUP) tzn. powodujący zawsze skok, lub warunkowy (Jcondltion), przy którym wykonanie skoku jest uzależnione od stanu wybranego wskaźnika. Niespełnienie warunku powoduje przejście do rozkazu.o następnym kolejnym adresie.
Rozkazy skoku do podprogramu. Są to trzybajtowe rozkazy'skoku z jednoczesnym zapamiętaniem aktualnej zawartości licznika rozkazów (adresu aktualnie wykonywanego rozkazu) w stosie. Rozkazy te mogą być bezwarunkowe (CALI) lub warunkowe (Ccondition).