diff --git a/doc/cc65.sgml b/doc/cc65.sgml
index ba44c43af..c565fd59c 100644
--- a/doc/cc65.sgml
+++ b/doc/cc65.sgml
@@ -70,6 +70,7 @@ Short options:
-h Help (this text)
-j Default characters are signed
-o name Name the output file
+ -r Enable register variables
-t sys Set the target system
-v Increase verbosity
@@ -87,6 +88,8 @@ Long options:
--debug-info Add debug info to object file
--help Help (this text)
--include-dir dir Set an include directory search path
+ --register-space b Set space available for register variables
+ --register-vars Enable register variables
--rodata-name seg Set the name of the RODATA segment
--signed-chars Default characters are signed
--static-locals Make local variables static
@@ -177,6 +180,38 @@ Here is a description of all the command line options:
Print the short option summary shown above.
+ -o name
+
+ Specify the name of the output file. If you don't specify a name, the
+ name of the C input file is used, with the extension replaced by ".s".
+
+
+ -r, --register-vars
+
+ .
+
+
+ --register-space
+
+ This option takes a numeric parameter and is used to specify, how much
+ zero page register space is available. Please note that just giving this
+ option will not increase or decrease by itself, it will just tell the
+ compiler about the available space. You will have to allocate that space
+ yourself using an assembler module with the necessary allocations, and a
+ linker configuration that matches the assembler module. The default value
+ for this option is 6 (bytes).
+
+ If you don't know what all this means, please don't use this option.
+
+
--rodata-name seg
Set the name of the rodata segment (the segment used for readonly data).
@@ -262,12 +297,6 @@ Here is a description of all the command line options:
search list.
- -o name
-
- Specify the name of the output file. If you don't specify a name, the
- name of the C input file is used, with the extension replaced by ".s".
-
-
-O, -Oi, -Or, -Os
Enable an optimizer run over the produced code.
@@ -372,12 +401,8 @@ and the one defined by the ISO standard:
The compiler does not support bit fields.
- Because of the "wrong" order of the parameters on the stack, there is
- an additional macro needed to access parameters in a variable
- parameter list in a C function.
-
- Functions may not return structs (or unions), and structs may not be
- passed as parameters by value. However, struct assignment *is*
+ C Functions may not return structs (or unions), and structs may not
+ be passed as parameters by value. However, struct assignment *is*
possible.
Part of the C library is available only with fastcall calling
@@ -485,9 +510,9 @@ This cc65 version has some extensions to the ISO C standard.
_GCmd:
- .byte 3
- .word $2000
- .word $3000
+ .byte 3
+ .word $2000
+ .word $3000
Since the variable is of type __APPLE2__
+
+ This macro is defined if the target is the Apple ][ (-t apple2).
+
+ __ATARI__
+
+ This macro is defined if the target is one of the Atari computers
+ (400/800/130XL/800XL).
+
+ __ATMOS__
+
+ This macro is defined if the target is the Oric Atmos (-t atmos).
+
__CBM__
This macro is defined if the target system is one of the CBM targets.
@@ -547,15 +585,6 @@ The compiler defines several macros at startup:
This macro is defined if the target is the PET family of computers (-t pet).
- __ATARI__
-
- This macro is defined if the target is one of the Atari computers
- (400/800/130XL/800XL).
-
- __APPLE2__
-
- This macro is defined if the target is the Apple ][ (-t apple2).
-
__GEOS__
This macro is defined if you are compiling for the GEOS system (-t geos).
@@ -768,6 +797,48 @@ id="pragma-staticlocals"