274
Wczytaną zawartość komórki pamięci 0060H procesor traktuje Jako rozkaz (był to cykl POBRANIE ROZKAZU) i dekoduje w stanie T3. Ponieważ to
l rozkaz MOV M,B, procesor przechodzi do następnego cyklu, którym Jout PISANIE DO PAKięCI..W stanie T1 wysyła status, który zostaje zapamiętany w układzie sterującym i pojawienie się sygnału TO z procesora powoduje, ta na szynie sterującej pobudzona zostaje linia PISZ DO PAKięCI (ETSTT). 1,1 — nia ta doprowadzona Jest do pamięci (wejście R/W) i jej pobudzenia wymusza zapis. Jednocześnie z sygnałem TO, na szynie danych pojawia się zawartość rejestru B zaś na szynie adresowej znajduje się Już adres, którym jest zawartość rejestrów H i L (w naszym przypadku 03A7H). Wszystko to łącznie powoduje, że do komórki pamięci 03A7H wpisana zostaje zawartość rejestru B. Na tym kończy się wykonanie rozkazu MOV 11,B i procesor przechodzi do następnego rozkazu o adresie 0061H. Jest to dwubajtowy rozkaz | OUT 3.
Dwa pierwsze cykle procesora przy wykonaniu tego rozkazu to pobranie z pamięci dwóch bajtów. V cyklu trzecim procesor umieszcza na szynie adre-, sowej numer urządzenia wyjściowego (w naszym przypadku 3)i a na szynie danych status PISANIE NA WYJŚCIE. Status ten jest zapamiętany w układzie sterującym i pojawienie się później sygnału TO z procesora powoduje pobudzenie na szynie sterującej linii PISZ NA WYJŚCIE (I/oW) doprowadzonej do interfejsu urządzenia wyjściowego. Sygnał TO pojawia się wtedy, gdy na szynie danych znajduje się Już zawartość rejestru A. Adres urządzenia wyjściowego wspólnie z sygnałem PISZ NA WYJŚCIE powodują wpisanie zawartości rejestru A do zespołu zatrzasków interfejsu urządzenia wyjściowego nr 3.
W przypadku gdy szybkość urządzenia wyjściowego Jest mała i można spodziewać się, że przy kolejnym rozkazie OUT urządzenie to Jest zajęte poprzednim przesłaniem, musimy wprowadzić jedną z przedstawionych wcześniej metod przesyłania z potwierdzeniem gotowości.
Z A t) A N I A
( 6.1. Przygotować program w języku maszynowym dla juP 8080 zamieniający 1 wczytane z wejścia nr 0 ośmiobitowe liczby dwójkowe na liczby w ko
dzie Gray'a i wyprowadzający otrzymane liczby na wyjście nr J>. Program działa w niekończącej się pętli.
6.2. Przygotować program w języku symbolicznym dla juP 8080 czyniący go przekształtnikiem 8-bitowych liczb dwójkowych o charakterystyce podanej na rys. 6.17. Procesor współpracuje z wejściem nr 1 1 wyjściem nr 1. Program działa w niekończącej się pętli.
O
Rys. 6.17. Charakterystyka przekształtnika do zadania 6.2
6.3. Zamienić program symboliczny otrzymany przy rozwiązywaniu zadania 6v2 na program w języku maszynowym (czyli wykonać czynność realizowaną zwykle przez program tłumaczący).
6.4. Przygotować program w języku symbolicznym dla procesora 6060, wczytujący 50 liczb, zamieniający je na liczby w kodzie Gray'a i umieszczający wyniki w kolejnych komórkach pamięci począwszy od adresu o etykiecie GRAY. Zamianę jednej liczby zrealizować w formie podprogramu o etykiecie ZAM.
6.5. Przygotować program w języku symbolicznym dla procesora 8060, który wczytuje 100 liczb z wejścia 1 wysyła na wyjście liczbę największą.
6.6. W pamięci RAJS zapisano program, którego symboliczną postać podano niżej
MVI |
A,13 |
MYI |
B,40 |
ADD |
B |
PTU : RAL | |
JNC |
PTIA |
LXI |
H, PTIA+8 |
> O •,Ą |
1C,A |
CISA | |
OUT |
0 |
KLT | |
ENT> |
Jaka liczba zostanie wysłana rozkazem OUT?
6.7. Przygotować program w języku symbolicznym zamieniający wczytaną 8-bi-tową liczbę w kodzie Gray'a na liczbę v; systemie dwójkowym i wyprowadzający Ją na wyjście.
6.E. Przygotować program symboliczny dla procesora 8080 czyniący go asynchronicznym układem sekwencyjnym o grafie przedstawionym na rys. 6.18f Program przygotować w oparciu o sieć działań przedstawioną na rys. 6.18b.