Beispiel:
GW-BASIC
Findet eine Verzweigung statt, so fuhrt GW-BASIC
automatisch einen COM(n) STOP Befehl aus,
damit es nicht zu sich wiederholenden Programm
verzweigungen kommen kann. Beim Rücksprung
aus der Unterbrechungsroutine wird automatisch
COM(n) ON ausgeführt, es sei denn, innerhalb der
Unterbrechungsroutine wurde explizit COM(n)
OFF ausgeführt.
Eine Programmverzweigung findet nur statt, wenn
GW-BASIC ein Programm ausfuhrt.
Kommt es zu einer Unterbrechung wegen eines
Fehlers (siehe ON ERROR), so werden sämtliche
Verzweigungen automatisch deaktiviert. Dies
bedeutet, daß Übertragungsaktivitäten von GW-
BASIC nicht berücksichtigt werden.
Typischerweise liest die Unterbrechungsroutine
bei der Datenübertragung vor dem Rücksprung
eine ganze Meldung aus dem Datenübertragungs
kanal. Es wird nicht empfohlen, eine Programmver
zweigung bei aus einem Zeichen bestehenden Mel
dungen zu benutzen, da der Aufwand für die Unter
brechung und das Lesen einzelner Zeichen bei
hohen Baudraten zu einem Überlauf des Unterbre
chungspuffers für die Datenübertragung führen
kann.
Mit dem RETURN-Befehl am Ende der Unterbre
chungsroutine kann wahlweise eine Zeilennummer
angegeben werden. Mit ihr wird bei der angegebe
nen Zeilennummer in das Programm zurückgegan
gen. Dadurch wird der GOSUB-Eintrag eliminiert,
den die Programmverweigung erstellt hat.
RETURN mit Angabe einer Zeilennummer sollte
mit Vorsicht benutzt werden! Jeder andere
GOSUB-, WHILE- oder FOR-Befehl, der zum Zeit
punkt der Unterbrechung aktiv war, bleibt aktiv.
30 ON COM(l) GOSUB 9900
40 COM(l) ON
GW-BASIC-BEFEHLE UND FUNKTIONEN
ON COM(n)
4-167