Mercurial > hg > index.cgi
diff docs/manual.docbook.sgml @ 517:1faf14de9d04
Update manual to correctly reflect forwardrefmax behaviour
Add a note to autobranchlength referencing forwardrefmax and also not that
forwardrefmax is enabled by default.
author | William Astle <lost@l-w.ca> |
---|---|
date | Tue, 13 Apr 2021 15:38:12 -0600 |
parents | 94bbdb2890b7 |
children | b530ff19f7c0 |
line wrap: on
line diff
--- a/docs/manual.docbook.sgml Thu Feb 11 09:25:16 2021 -0700 +++ b/docs/manual.docbook.sgml Tue Apr 13 15:38:12 2021 -0600 @@ -1927,6 +1927,9 @@ *PRAGMA directive. This way, an error will be raised if someone tries to assemble the code under a different assembler.</para> +<para>Note that if the "forwardrefmax" pragma is ineffect, as is the current +default, this pragma will not behave as expected.</para> + <varlistentry> <term>nosymbolcase</term> <term>symbolnocase</term> @@ -1967,14 +1970,15 @@ <listitem> <para>This pragma will disable forward reference optimization completely. -Ordinarily, LWASM will attempt to select the shortest possible addressing -mode for forward references. However, in many source files, especially +However, many source files, especially those not using the PCR relative addressing modes, this optimization is pointless since the assembler will almost certainly settle on a 16 bit offset or address. If all variables in the direct page are defined before the main body of the code, the benefit of forward reference optimization almost certainly vanishes completely. However, the cost of doing that -optimization remains and can result in a very long assembly time.</para> +optimization remains and can result in a very long assembly time. Because +of this, "forwardrefmax" has been the default setting since version 4.14 of +LWTOOLS. To turn it off, use "noforwardrefmax".</para> <para>Enabling this pragma will cause all forward references to use the maximum offset or address size, much the same has EDTASM and other pure