Samouruchamianie przez Enter

Na zakończenie toczącej się od pewnego czasu na łamach "Bajtka" dyskusji o automatycznym uruchamianiu programów w Basicu prezentujemy jeszcze jeden sposób uzyskania tego efektu.

 

Wykorzystane tu zostało specyficzne działanie instrukcji LIST i ENTER. Pierwsza z nich zapisuje program w postaci kodów ASCII (tak jak na ekranie). Podczas odczytu zapisanego w ten sposób programu przy pomocy instrukcji ENTER kolejne wiersze programu są umieszczone w pamięci dokładnie tak samo, jak podczas wprowadzania z klawiatury. Jeżeli do programu zostanie dodany wiersz bez numeru, to zostanie on wykonany natychmiast po odczytaniu.

Gdy w tym wierszu znajdzie się instrukcja RUN, to program zostanie automatycznie uruchomiony. Oczywiście instrukcja RUN musi się w takim przypadku znaleźć na końcu wczytywanego programu.

Normalnie podczas zapisu na taśmie nie można jednak dodać wiersza bez numeru. Czynność ta jest wykonywana przez pierwszy z zamieszczonych programów. Odczytuje on dowolny inny program nagrany na taśmie przez LIST, a następnie zapisuje go ponownie na taśmie z dodaną na końcu instrukcją RUN. Poddany tej operacji program uruchamia się samoczynnie po odczytaniu go instrukcja ENTER.

Drugi program ma podobne działanie z tą różnicą, że program do nagrania jest wprowadzany z klawiatury. Pozwala to na tworzenie krótkich programów ładujących tzw. "loaderów". Trzeba jednak uważać, aby wprowadzane wiersze byty bezbłędne, ponieważ program nie kontroluje składni wprowadzanych instrukcji.

Zastosowany sposób ma jedną zasadniczą wadę. Programy zapisywane przez LIST mają długie przerwy między rekordami i w związku z tym długi czas odczytu. Praktyczne jego zastosowanie ograniczone jest więc do programów o stosunkowo niewielkiej długości, np. właśnie loaderów.

Roman Tomaszewski, Andrzej Zalewski