Mercurial > hg > index.cgi
comparison docs/manual/x670.html @ 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 | 52af0aa54fe5 |
children | 8c6c3363e18e |
comparison
equal
deleted
inserted
replaced
516:c33b4abff860 | 517:1faf14de9d04 |
---|---|
15 REL="PREVIOUS" | 15 REL="PREVIOUS" |
16 TITLE="Object Files and Sections" | 16 TITLE="Object Files and Sections" |
17 HREF="x606.html"><LINK | 17 HREF="x606.html"><LINK |
18 REL="NEXT" | 18 REL="NEXT" |
19 TITLE="Convenience Instructions" | 19 TITLE="Convenience Instructions" |
20 HREF="x816.html"></HEAD | 20 HREF="x817.html"></HEAD |
21 ><BODY | 21 ><BODY |
22 CLASS="SECTION" | 22 CLASS="SECTION" |
23 BGCOLOR="#FFFFFF" | 23 BGCOLOR="#FFFFFF" |
24 TEXT="#000000" | 24 TEXT="#000000" |
25 LINK="#0000FF" | 25 LINK="#0000FF" |
57 ><TD | 57 ><TD |
58 WIDTH="10%" | 58 WIDTH="10%" |
59 ALIGN="right" | 59 ALIGN="right" |
60 VALIGN="bottom" | 60 VALIGN="bottom" |
61 ><A | 61 ><A |
62 HREF="x816.html" | 62 HREF="x817.html" |
63 ACCESSKEY="N" | 63 ACCESSKEY="N" |
64 >Next</A | 64 >Next</A |
65 ></TD | 65 ></TD |
66 ></TR | 66 ></TR |
67 ></TABLE | 67 ></TABLE |
196 ><DD | 196 ><DD |
197 ><P | 197 ><P |
198 >These pragmas enable convenience instructions extending the 6809 and 6309 | 198 >These pragmas enable convenience instructions extending the 6809 and 6309 |
199 instruction sets respectively. For more information, see | 199 instruction sets respectively. For more information, see |
200 <A | 200 <A |
201 HREF="x816.html" | 201 HREF="x817.html" |
202 >Section 3.11</A | 202 >Section 3.11</A |
203 >.</P | 203 >.</P |
204 ></DD | 204 ></DD |
205 ><DT | 205 ><DT |
206 >index0tonone</DT | 206 >index0tonone</DT |
334 >Because this pragma leads to source that is incompatible with other | 334 >Because this pragma leads to source that is incompatible with other |
335 assemblers, it is strongly recommended that it be invoked using the PRAGMA | 335 assemblers, it is strongly recommended that it be invoked using the PRAGMA |
336 directive within the source code rather than on the command line or via the | 336 directive within the source code rather than on the command line or via the |
337 *PRAGMA directive. This way, an error will be raised if someone tries to | 337 *PRAGMA directive. This way, an error will be raised if someone tries to |
338 assemble the code under a different assembler.</P | 338 assemble the code under a different assembler.</P |
339 ><P | |
340 >Note that if the "forwardrefmax" pragma is ineffect, as is the current | |
341 default, this pragma will not behave as expected.</P | |
339 ></DD | 342 ></DD |
340 ><DT | 343 ><DT |
341 >nosymbolcase, symbolnocase</DT | 344 >nosymbolcase, symbolnocase</DT |
342 ><DD | 345 ><DD |
343 ><P | 346 ><P |
370 ><DT | 373 ><DT |
371 >forwardrefmax</DT | 374 >forwardrefmax</DT |
372 ><DD | 375 ><DD |
373 ><P | 376 ><P |
374 >This pragma will disable forward reference optimization completely. | 377 >This pragma will disable forward reference optimization completely. |
375 Ordinarily, LWASM will attempt to select the shortest possible addressing | 378 However, many source files, especially |
376 mode for forward references. However, in many source files, especially | |
377 those not using the PCR relative addressing modes, this optimization is | 379 those not using the PCR relative addressing modes, this optimization is |
378 pointless since the assembler will almost certainly settle on a 16 bit | 380 pointless since the assembler will almost certainly settle on a 16 bit |
379 offset or address. If all variables in the direct page are defined before | 381 offset or address. If all variables in the direct page are defined before |
380 the main body of the code, the benefit of forward reference optimization | 382 the main body of the code, the benefit of forward reference optimization |
381 almost certainly vanishes completely. However, the cost of doing that | 383 almost certainly vanishes completely. However, the cost of doing that |
382 optimization remains and can result in a very long assembly time.</P | 384 optimization remains and can result in a very long assembly time. Because |
385 of this, "forwardrefmax" has been the default setting since version 4.14 of | |
386 LWTOOLS. To turn it off, use "noforwardrefmax".</P | |
383 ><P | 387 ><P |
384 >Enabling this pragma will cause all forward references to use the | 388 >Enabling this pragma will cause all forward references to use the |
385 maximum offset or address size, much the same has EDTASM and other pure | 389 maximum offset or address size, much the same has EDTASM and other pure |
386 two pass assemblers do. The side effect is that all line lengths and | 390 two pass assemblers do. The side effect is that all line lengths and |
387 symbol values are fully resolved after the initial parsing pass and the | 391 symbol values are fully resolved after the initial parsing pass and the |
540 ><TD | 544 ><TD |
541 WIDTH="33%" | 545 WIDTH="33%" |
542 ALIGN="right" | 546 ALIGN="right" |
543 VALIGN="top" | 547 VALIGN="top" |
544 ><A | 548 ><A |
545 HREF="x816.html" | 549 HREF="x817.html" |
546 ACCESSKEY="N" | 550 ACCESSKEY="N" |
547 >Next</A | 551 >Next</A |
548 ></TD | 552 ></TD |
549 ></TR | 553 ></TR |
550 ><TR | 554 ><TR |