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