Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Autorzy: dr Ian Logan i dr Frank O'Hara |
©2024 mgr Jerzy Wałaszek |
16-kilobajtowy program monitora w Spectrum jest złożonym programem w kodzie maszynowym Z80. Jego ogólna struktura jest bardzo zrozumiała, ponieważ dzieli się on na trzy główne części:
Jednakże te bloki składowe są zbyt duże, aby dało się je łatwo przedstawić i dlatego w tym artykule program monitora jest omawiany w dziesięciu częściach. Teraz omówimy krótko każdą z tych części.
Tablice w tej części programu monitora przechowują rozwinięte formy nazw instrukcji i funkcji - tzw. symbole oraz kody klawiszy.
W standardowym Spectrum "wejście" możliwe jest tylko z klawiatury, lecz "wyjście" można skierować na drukarkę, do górnej części ekranu telewizyjnego lub do dolnej.
Główna procedura "wejścia" w tej części programu monitora nazywa się EDITOR i pozwala użytkownikowi wprowadzać znaki do dolnej części ekranu.
Procedura PRINT-OUT jest raczej wolna, ponieważ wykorzystuje się ją przy wszelkich sytuacjach. Na przykład, dodanie pojedynczego bajtu do "obszaru wyświetlania" wywołuje rozpatrzenie bieżącego stanu OVER i INVERSE przy każdej okazji.
W języku BASIC Spectrum wiersz zwrócony przez procedurę EDITOR zostaje sprawdzony pod katem poprawności składni, a następnie zachowany w obszarze programu, jeśli posiadał na początku numer, albo "wykonany" w przypadku przeciwnym. To wykonanie może z kolei prowadzić do zajęcia się dalszymi poleceniami. (Najbardziej widoczne jest to w przypadku - RUN.)
Szczególnie dobrze zarządzana jest obsługa łańcuchów znakowych. Wszystkie proste łańcuchy są obsługiwane "dynamicznie", a ich stare kopie zostają usunięte, gdy już przestają być potrzebne. Oznacza to, że nie ma potrzeby "zbierania śmieci".
Niestety, obecna wersja monitora jest popsuta przez dwa błędy w tej części.
Ta część programu monitora zawiera procedury dla wszystkich funkcji matematycznych. Przybliżenia SIN x, EXP x, LN x i ATN x są otrzymywane przez rozwinięcia wielomianów Czebyszewa, a pełne szczegóły na ten temat znajdziesz w końcowych rozdziałach.
W całości 16-kilobajtowy program monitora oferuje bardzo szeroki wachlarz rozkazów i funkcji języka BASIC. Jednakże, programistom zawsze brakowało miejsca i dlatego program ten został napisany raczej z myślą o małej zajętości pamięci niż o szybkości działania.
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.