documented recent changes
This commit is contained in:
parent
dedf1d945c
commit
8d7a5dba0a
1 changed files with 22 additions and 14 deletions
36
doc/ncg.doc
36
doc/ncg.doc
|
@ -301,16 +301,16 @@ Here is a list of reserved words; all of these are unavailable as identifiers.
|
||||||
.TS
|
.TS
|
||||||
box;
|
box;
|
||||||
l l l l l.
|
l l l l l.
|
||||||
ADDR STACK from reg_any test
|
ADDR STACK from proc sfit
|
||||||
COERCIONS STACKINGRULES gen reg_float to
|
COERCIONS STACKINGRULES gen reg_any test
|
||||||
INSTRUCTIONS TESTS highw reg_loop ufit
|
INSTRUCTIONS TESTS highw reg_float to
|
||||||
INT TIMEFACTOR inreg reg_pointer uses
|
INT TIMEFACTOR inreg reg_loop ufit
|
||||||
MOVES TOKENS kills regvar with
|
MOVES TOKENS is_rom reg_pointer uses
|
||||||
PATTERNS call leaving return yields
|
PATTERNS call kills regvar with
|
||||||
PROPERTIES cost loww reusing
|
PROPERTIES cost leaving return yields
|
||||||
REGISTERS defined move rom
|
REGISTERS defined loww reusing
|
||||||
SETS exact pat samesign
|
SETS exact move rom
|
||||||
SIZEFACTOR example proc sfit
|
SIZEFACTOR example pat samesign
|
||||||
.TE
|
.TE
|
||||||
C style comments are accepted.
|
C style comments are accepted.
|
||||||
.DS
|
.DS
|
||||||
|
@ -883,6 +883,14 @@ number
|
||||||
.I a
|
.I a
|
||||||
in the EM-pattern.
|
in the EM-pattern.
|
||||||
Undefined if that descriptor does not exist.
|
Undefined if that descriptor does not exist.
|
||||||
|
.IP is_rom($a)
|
||||||
|
Integer expression indicating whether EM instruction number
|
||||||
|
.I a
|
||||||
|
in the EM-pattern refers to ROM. This may be useful for generating
|
||||||
|
position-independent code with the ROM in read-only memory.
|
||||||
|
.I Is_rom
|
||||||
|
enables one to see the difference between ROM references and other data
|
||||||
|
references.
|
||||||
.IP loww($a)
|
.IP loww($a)
|
||||||
Returns the lower half of the argument of EM instruction number
|
Returns the lower half of the argument of EM instruction number
|
||||||
.I a .
|
.I a .
|
||||||
|
@ -1656,10 +1664,10 @@ The current version of
|
||||||
.I cgg
|
.I cgg
|
||||||
does not check correctness of the example, so be careful.
|
does not check correctness of the example, so be careful.
|
||||||
.PP
|
.PP
|
||||||
A procedure is called with one or two string-parameters,
|
A procedure is called with string-parameters,
|
||||||
that are assembler opcodes.
|
that are assembler opcodes.
|
||||||
They can be accessed by appending the strings `[1]' or `[2]'
|
They can be accessed by appending the string `[<number>]'
|
||||||
to a table opcode.
|
to a table opcode, where <number> is the parameter number.
|
||||||
The string `*' can be used as an equivalent for `[1]'.
|
The string `*' can be used as an equivalent for `[1]'.
|
||||||
Just in case this is not clear, here is an example for
|
Just in case this is not clear, here is an example for
|
||||||
a procedure to increment/decrement a register.
|
a procedure to increment/decrement a register.
|
||||||
|
@ -1676,7 +1684,7 @@ The procedure is called with parameter "inc" or "dec".
|
||||||
The procedure call is given instead of the code-part of the
|
The procedure call is given instead of the code-part of the
|
||||||
code rule and looks like this
|
code rule and looks like this
|
||||||
.DS
|
.DS
|
||||||
call <identifier> '(' string [ ',' string ] ')'
|
call <identifier> '(' <comma-separated list of strings> ')'
|
||||||
.DE
|
.DE
|
||||||
which leads to the following large example:
|
which leads to the following large example:
|
||||||
.DS
|
.DS
|
||||||
|
|
Loading…
Add table
Reference in a new issue