168 16. Watchdog w SAB 80515 535
6. W przykładzie założono, że w programie użytkownika wykonywane są tylko instrukcje trwające 2 cykle maszynowe. Jeśli wykonywane są dowolne instrukcje mikrokontrolera, to jaką wartość ma L ?
Każdy procesor posługuje się językiem wewnętrznym, zwanym językiem maszynowym. Język ten charakteryzuje się stosowaniem binarnych kodów roz. kazów i binarnych adresów komórek pamięci. Dlatego program działania procesora jest umieszczony w pamięci w postaci kodu binarnego. Pisanie programu bezpośrednio w języku maszynowym, co było robione na początku ery maszyn cyfrowych, jest bardzo uciążliwe ze względu na konieczność obliczania adresów skoków oraz łatwość popełniania błędów. Dlatego opracowano programy komputerowe, które tłumaczą tekst programu napisanego w odpowiednim języku na kod maszynowy procesora.
Język może być prosty, niskiego poziomu. Jest to asembler lub makro-asembler. W asemblerze jednemu rozkazowi maszynowemu procesora odpowiada jeden rozkaz symboliczny. Wszystkie podane w tej książce rozkazy, np. MOV A,#51h, poza ich przedstawieniem w postaci kodu binarnego, są właśnie rozkazami symbolicznymi. Oprócz rozkazów' symbolicznych w asemblerach stosuje się pseudorozkazy ułatwiające pisanie programów, jak na przykład pseudorozkazy dzielenia, mnożenia itp. przerzucające na asembler wyliczenie pewnych wrartości, z których korzysta program. Makroasembler ma wszystkie właściwości asemblera, a ponadto umożliwia zastąpienie powtarzających się sekwencji rozkazów jednym makrorozkazem w postaci zdefiniowanego przez programistę skrótu mnemotechnicznego.
Język asemblera jest bardzo prosty, łatwy do opanowania ale jego wadą jest to, że wszystkie procedury operowania danymi muszą być napisane przez programistę. Wady tej są pozbawione języki wyższego rzędu, na przykład język C, w którym istnieją gotowe procedury mnożenia, dzielenia, obliczania wartości funkcji trygonometrycznych itp.
Napisany program należy sprawdzić, czy będzie działał zgodnie z założeniami. Sprawdzenie częściowe, obejmujące fragmenty programu nie komunikujące się z otoczeniem, można przeprowadzić wykorzystując symulatory, tzn. programy komputerowe symulujące działanie procesora.
Możliwość sprawdzenia poprawmości współpracy procesora z otoczeniem można, przy pewnych ograniczeniach, przeprowadzić przy pomocy debugge-rów płytkowych Są to moduły zawierające procesor, pamięć programu z programem nazywany monitorem i pamięć RAM, która może być traktowana przez procesor jak pamięć programu. Moduł współpracuje z komputerem, /a pośrednictwem którego użytkownik może wpisywać do pamięci RAM testowany program. Program monitor zapewnia łączność pomiędzy komputerem a modułem i nadzoruje proces testowania programu użytkowego. W takim systemie jest możliwe wykonanie każdej instrukcji krok po kroku, sprawdzanie działania