Co to jest język maszynowy?
W środku każdego mikrokomputera jest mikroprocesor, specjalna kość, która jest mózgiem komputera. W Commodore 64 znajduje się mikroprocesor oznaczony symbolem 6510. Każdy mikroprocesor rozumie tylko swój własny język - zestaw instrukcji - nazywany językiem maszynowym. Mikroprocesor 6510 należy do rodziny mikroprocesorów oznaczonych symbolem 65xx. Jednym z pierwszych w tej rodzinie był mikroprocesor 6502, wykorzystywany m.in. w Commodore VIC-20. Wszystkie mikroprocesory należące do tej samej rodziny mają ten sam język maszynowy lub języki różniące się bardzo nieznacznie. Zbliżone języki mają mikroprocesory 6800 w robotach edukacyjnych oraz 68000 używane w Amidze 500.
Jak to się dzieje, że Commodore 64 - rozumiejący tylko język maszynowy - rozumie również zestaw poleceń, nazywany językiem Basic? Jeżeli Basic jest językiem maszynowym, to co powoduje, że Commodore 64 rozumie takie polecenie jak PRINT lub LIST?
Aby odpowiedzieć na te pytania zobaczmy najpierw co się w nim dzieje, gdy włączymy go do sieci i ustawimy przełącznik sieciowy w pozycji ON (włączony).
W tym czasie, gdy na jednej z linii mikroprocesora zarejestruje się wzrost napięcia, na tzw. stos przesyłany jest adres pamięci nazywanej ROM, w której zapisany jest zestaw poleceń w języku mikroprocesora, niezbędnych do zainicjowania pracy mikrokomputera takich, jak na przykład: ustawienie wskaźników dla Basic'a, wyczyszczenie pamięci ekranu, wyprowadzenie informacji o nazwie mikrokomputera, a na końcu przejście do tzw. stanu oczekiwania - oczekiwanie na polecenia użytkownika. Pamięcią ROM nazywa się taką pamięć, której zawartość nie znika z chwilą wyłączenia komputera z sieci i której nie można zmienić. W pamięci zwanej RAM, przechowuje swoje dane komputer i użytkownik. Dane zapisane w tej pamięci mogą być w dowolnej chwili modyfikowane.
Pod względem funkcjonalnym pamięć ROM dzieli się na dwie części - system operacyjny i interpreter Basic'a. Programy do tej pamięci, opracowywane przez twórców komputerów, zapisywane są przez specjalne urządzenia - programatory. Zaawansowani użytkownicy Commodore 64 rozszerzają jego możliwości przez doczytanie do pamięci RAM dodatkowych programów z tzw. pamięci zewnętrznej - dyskietki lub kasety magnetofonowej - lub włączenie tzw. cartridge'y, które są rozszerzeniami pamięci typu ROM. Zaletą tych ostatnich jest to, że programy w nich zawarte są tak samo szybko dostępne jak procedury systemu operacyjnego lub interpretera i nie przestają być dostępne z chwilą wyłączenia komputera z sieci.
Stan oczekiwania w Commodore 64 na polecenia użytkownika sygnalizowany jest przez mikrokomputer wyświetleniem na ekranie monitora informacji READY - z mrugającym pod tym napisem kwadracikiem, nazywanym kursorem lub znakiem zachęty.
System operacyjny w Commodore 64 obsługuje m.in. klawiaturę oraz edytor ekranowy, który umożliwia pisanie znaków oraz kontroluje przesuwanie kursora.
W drugiej wspomnianej wyżej pamięci ROM zapisany jest w języku maszynowym program, nazywany interpreterem Basic'a. Ma on za zadanie rozpoznanie wydawanych przez użytkownika poleceń i ewentualne ich wykonanie. Nazywa się go interpreterem, gdyż rozpoznaje on i wykonuje każde polecenie za poleceniem, w zapisanej przez użytkownika kolejności chyba, że napotka takie polecenie, którego nie jest w stanie zrozumieć. Wtedy na ekranie monitora jest wyprowadzany komunikat:
?SYNTAX ERROR
READY.
i obsługa dalszych poleceń, jeśli takowe były, jest przerywana.
Krzysztof Gajewski, Bogusław Radziszewski "Commodore 64 od środka", wyd. Fundacja Edukacji Technologicznej, Warszawa 1992
|