Topic : The GFA-Basic Compendium
Author : GFA Systemtechnik GmbH
Version : GFABasic.HYP v2.98 (12/31/2023)
Subject : Documentation/Programming
Nodes : 899
Index Size : 28056
HCP-Version : 3
Compiled on : Atari
@charset : atarist
@lang :
@default : Document not found
@help : Help
@options : +g -i -s +z
@width : 75
@hostname : STRNGSRV
@hostname : CAB
@hostname : HIGHWIRE
@hostname : THING
View Ref-FileDuring program execution the interpreter normally offers the ability
to abort the program by simultaneously pressing the Control, Left Shift, and
Alternate keys.
This ability does not exist as default in a compiled program. However, using
the $Ux compiler option you can enable it. To enable any scanning of the stop
keys at all, the I+ option must be active.
The scanning of the break keys is linked to a test for the EVERY and AFTER
conditions. Also, a RESUME/NEXT is prepared. Therefore all instructions which
could generate errors should be enclosed by $u (or, to put it more accurately,
$u safeguards the program counter PC, the stack pointer SP and the BASIC stack
pointer A3. Hence no DIMs, ERASEs or GOSUBs, FNs must be executed between the
$u and the error).
The x parameter can have the following values, with the possibilities indicated
here:
$U inserts a check
$U+ inserts a check at each instruction generating code
$U- disables the checking.
The following program cannot be interrupted by pressing the three stop keys in
its first loop, but these keys are enabled (after pressing the right mouse
button) in the second loop.
$U-
REPEAT
UNTIL MOUSEK
DO
$U
LOOP
The DO LOOP cannot be aborted if the listing is changed to
$U+
DO
LOOP
because the checking only takes place after LOOP and not after DO, as DO is not
a code-generating instruction.
If you wish to use the RESUME command you must have U+ switched on.
Memo: $U- is the default.