44
3. Opis symulatora
w punkcie 3.2.2.4. Różnica polega tylko na tym, że w tamtym wypadku można wskazać tylko jedną nazwę pliku, a w tym cała grupę używając do zaznaczenia wyboru klawisza Iris.
Spośród zaznaczonych rozkazów wprowadzone zostaną tylko te, które spełniają następujące warunki:
- składnia pliku wynikowego o rozszerzeniu *.RWN (Rozkaz WyNikowy) jest zgodna z generowaną przez program mikroasemblera;
nazwy symboliczne wprowadzanych rozkazów nic występują jeszcze na liście;
- typ m.c., na którą dany rozkaz jest przygotowany, nie występuje w szeregu ich rozwoju (W, Wplus, L, EW) przed typem aktualnej m.c. Taka sytuacja mogłaby doprowadzić do próby użycia sygnałów sterujących niedopuszczalnych dla aktualnej m.c., z racji niezawicrania przez nią elementów związanych z tymi sygnałami.
Dodatkowym warunkiem wprowadzenia rozkazu jest wolne miejsce na liście rozkazów. Liczba możliwych rozkazów na liście jest ograniczona w związku z określoną długością części kodowej rozkazu.
W sytuacji gdy wprowadzany rozkaz jest oznaczony kodem aktualnie wykorzystywanym, to warunkiem wprowadzenia rozkazu jest zaakceptowanie przez użytkownika nowego kodu, który ustala program Symulator. Po wprowadzeniu rozkazu na listę może zostać on użyty w programie zapisanym w języku symbolicznym.
3.2.3.2. Edycja rozkazu
W celu edycji lub utworzenia zbioru zawierającego opis wykonania rozkazu zgodnie 7. notacją opisaną w punkcie 3.1.1 wykorzystano edytor zewnętrzny MultiEdit, którego podstawowe funkcje opisano w punkcie 3.2.2.2. Z edytorem tym sprzężono zewnętrzny program o nazwie KompMkrG.exe, którego zadaniem jest analiza treści pliku opisu rozkazu, aktualnie edytowanego. W przypadku poprawnej składni program ten generuje nowy plik o takiej samej nazwie, ale nowym rozszerzeniu *.RWN, a dla niepoprawnej składni sygnalizuje rodzaj i miejsce wystąpienia błędu. Lista błędów zamieszczona została w Dodatku A.
3.2.3.3. Zmiana bieżącej kartoteki
Ta funkcja została opisana dokładnie w punkcie 3.2.2.3, można wspomnieć, że wybrana kartoteka jest aktualna do momentu jej jawnej zmiany.
3.2.3.4. Usuwanie rozkazów
W celu usunięcia rozkazu z listy należy wykonać operacje selekcji w oknie przedstawionym na rysunku 3.15.
W oknie listy rozkazów można użyć następujących klawiszy:
11: selekcja usuwanego rozkazu,
ENTER: usunięcie aktualnie podświetlonego rozkazu.
ESC: wyjście z okna bez usunięcia podświetlonego rozkazu.
3.2. Opis poszczególnych funkcji programu Symulatora
45
■ ---- - Synu2*tor--------
Ir.icjaliracja A««e*.bl»r KikroA«oembler Opcja Koofiguracj* Koniec
-1- Kikroaaeembler--1 —-—-
| Wprowadź rożka*(y)
—=== Aktualna liata rozkazów «.c. » 1
MHS KOD OPIS
DQO |
009 |
ouo * |
t(Ad>) |
-> Ak |
ODE |
001 |
(Ak) - |
:(Adi> |
-> Ak |
POD |
0X0 |
<(Ad)l |
-» Ak | |
LU) |
on |
<ax) -> |
. (Ad) |
Rys. 3.15. Postać okna listy rozkazów
W jednej chwili może być wyświetlanych maksymalnie 16 rozkazów. Jeżeli aktualna lista zawiera ich więcej, to następuje przewijanie zawartości okna przy próbie wyjścia poza jego obramowanie.
W celu usunięcia wszystkich rozkazów z listy można się posłużyć funkcja menu Zerowanie m.c. opisaną w punkcie 3.2.1.4.
Przed usunięciem rozkazu z listy należy sprawdzić, czy jest on używany przez aktualnie załadowany do pamięci operacyjnej program. Usunięcie takiego rozkazu spowoduje przerwanie wykonania programu.
3.2.3.5. Usuwanie pliku opisu rozkazu
Aby dopełnić zintegrowane środowisko Symulatora, wprowadzono możliwość usuwania plików zewnętrznych z jego wnętrza. W tym celu należy podać wzór nazwy pliku, a następnie zaznaczyć wybrane do usunięcia. Obydwie operacje wykonuje się tak jak operację wyboru pliku w celu wprowadzenia jego zawartości na drukarkę. Zostało to opisane dokładniej w punkcie 3.2.2.4.
3.2.3.Ó. Drukowanie treści opisu rozkazu
Funkcja ta jest analogiczna do funkcji drukowania treści programu w języku symbolicznym, a opisanej w punkcie 3.2.2.4.
3.2.3.7. Drukowanie listy rozkazów
W celu uzyskania dokumentu zawierającego aktualna listę rozkazów przewidziano możliwość wyprowadzenia jej zawartości na drukarkę. Dokument ten zawiera te same elementy (mnemonikę, kod, opis funkcji), które sa zawarte na liście rozkazów.