256
256
Adres |
Rozkaz | |
szesnastkowy |
symboliczny |
maszynowy |
0000 |
IN 0 |
11011011 00000000 |
0002 |
MOV B, A |
01000111 |
0005 |
ANI DOS |
11100110 11010000 |
J005 |
CPI COH |
11111110 11000000 |
0007 |
JZ 0021H |
11001010 00100001 00000000 |
000A |
MOV A,B ANI 47H |
01111000 |
000B |
11100110 01000111 | |
OOOD. |
CPI 05H |
11111110 00000101 |
OOOP |
JZ 0021H |
11001010 00100001 00000000 |
0012 |
MOT A,B ANI 28H |
01111000 |
0015 |
11100110 00101000 | |
0015 |
CPI OOH |
11111110 00000000 |
0017 |
JZ 0021H |
11001010 00100001 00000000 |
001A |
MVI A,OOH |
00111110 00000000 |
0010 |
OUT 0 |
11010111 00000000 |
G01E |
JMP OOOOH |
11000111 00000000 00000000 |
0021 |
MVI A,01H |
00111110 00000001 |
0025 |
OUT 0 |
11010111 00000000 |
0025 |
JŁIP OOOOH' |
11000111 |
00000000
00000000
lomentarz
(A) *—x^X2* *
(B) —(A) maskowanie x^x2Zx^ZZZ porównanie z liczbą 11Z0ZZZZ skok do
„drukuj 1”
(A)—(B) maskowanie
ZX^ ZZZX^Xr,Xg
porównanie z liczbą Z0ZZZ101
skok do „drukuj 1M
(A)—(B) maskowanie ZZXxZXcZZZ porównanie z liczbą ZZOZOZZZ
skok do „drukuj 1n (A)—O
wyjście ^(A)
skok do początku programu
(A) -—-1
wyjście — (A)
skok do początku programu
Znając czasy wykonywania poszczególnych rozkazów (przy częstotliwości zegara 2 MHz jeden stan jxP trwa 0.5 jxs) można łatwo wyznaczyć czas obliczania wartości zadanej funkcji logicznej dla jednej kombinacji wejść.
« najgorszym przypadku (gdy dopiero podczas trzeciego sprawdzenia okazuje się, że wartość funkcji wynosi 1) wyznaczenie wartości funkcji wymaga przejścia j^P przez 124 stany, co zajmuje 62 jj.s. Widać więc, że jj.K z powyższym programem zachowuje się jak układ kombinacyjny o czasie propagacji równym 2x62=124 ^.s, co odpowiada sytuacji, gdy umiana sygnału wejściowego nastąpiła tuż"po wczytaniu jego poprzedniej wartości i spowoduje ona zmianę wartości sygnału wyjściowego. #
Powyższy program nie jest jedynym rozwiązującym to zadanie. Nietrudno zauważyć, te powtarzają się w nim pewne grupy rozkazów różniące się tylko operaadarni* Można by więc program uprościć tworzęc pętle obiegane wielokrotnie, za każdym razem z innymi danymi. Zagadnienie to wyjaśnimy na kolejnym przykładzie*
o
Przykład 6.2
Przedstawimy tu inną wersję programu dla zadania z przykładu 6.1. Realizuje ona sieć działań przedstawioną na rys. 6.12.