•  Back 
  •  Main 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help 
  •  Show info about hypertext 
  •  View a new file 
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-FileOverview of Compiler Options

This section will first briefly describe which compiler options are available
and how you can set them. After that, each option is described in a section of
its own.


$B+     ERROR messages instead of bombs.
$C+     C:()/CALL should save/restore registers A3 to A6 on the stack.
$C-     C:()/CALL shouldn't save/restore registers A3 to A6 on the stack.
$E$     ERROR messages displayed as text.
$E#     ERROR messages displayed as numbers.
$F%     RETURN value of a FUNCTION will be any integer type.
$F>     Enable ENDFUNC checking.
$F<     Disable ENDFUNC checking.
$I+     Enable interrupt routines.
$I-     Disable interrupt routines.
$M xxxx The program should only use xxxx bytes of ram.
$N+     Enable FOR-NEXT range checking.
$N-     Disable FOR-NEXT range checking.
$P>     Do not optimize subroutines that have no parameters/LOCALs.
$P<     Optimize subroutines that have no parameters/LOCALs.
$RC&    RC_INTERSECT() parameters treated as 2 byte values.
$RC%    RC_INTERSECT() parameters treated as 4 byte values.
$S>     Optimize SELECT-CASE for execution time.
$S<     Optimize SELECT-CASE for program length.
$S|     Treat SELECT-CASE parameters as 1 byte values.
$S&     Treat SELECT-CASE parameters as 2 byte values.
$S%     Treat SELECT-CASE parameters as 4 byte values.
$U      Check EVERY/AFTER and Break Keys once.
$U+     Enable EVERY/AFTER and Break Keys after each instruction.
$U-     Disable EVERY/AFTER and Break Keys checking.
$X name The routine name to be taken from a linked file.
$*&     Longword multiplication with muls.
$*%     Longword multiplication without muls.
$%0     Variables are converted to floating point and then divided.
$%3     Always execute integer division as an integer division.
$%6     Round integers up.

Memo: These commands must be placed in the source code itself and do
      not always work as expected via the command line:
      $B+  !always fails
      $F%  !not supported
      $I+  !only works if its the very first command
      $Ux  !locks up the compiler!
      $X   !not supported