Ready/Run

Takie sobie archiwum listingów ze starych magazynów komputerowych


Obsługa klawisza RESET
  • Język programu: Basic
  • Platforma: Atari XE/XL
  • Kod zamieszczono w Bajtek 3/1988
  • Autor listingu: Jakub Cebula
  • Listing nadesłał: Amarok

Stan listingu:

4
Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku

RESET jest przyciskiem zerującym procesor, co nie oznacza jednak, że nie można jego obsługi programować z poziomu kodu maszynowego.

 
Procedura taka, w odróżnieniu od procedury wywoływanej rozkazem USR, nie może zawierać rozkazu PLA, a podobnie jak procedura USR, powinna się kończyć rozkazem RTS. Po napisaniu programu maszynowego i umieszczeniu go w pamięci trzeba zmienić zawartość komórek 12 (młodszy bajt) i 13 (starszy bajt adresu procedury) oraz wpisać do komórki 9 wartość zezwalającą na wykonanie procedury (POKE 9,1). Radziłbym jednak procedurę taką wypróbować instrukcją USR, gdyż błąd w niej spowoduje zawieszenie się komputera i utratę danych.
Przykładem wykorzystania tych informacji jest poniższy program, który powoduje, że naciśnięcie klawisza RESET nie przerywa działania programu, a jest jednoznaczne z rozkazem RUN.
Litery przed numerem linii to sumy kontrolne Edytora BASICa, nie należą one do programu i nie należy je wpisywać.
Program ten należy zapisać na taśmie rozkazem LIST "C", co umożliwi dołączenie tej procedury do innych programów rozkazem ENTER "C":

 

Jak zaladować (najprostsza metoda)

ALTIRRA: 

  • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
  • Cold Reset (Powinien wejść do Basica)
  • LOAD "D:RESET.BAS"
  • RUN