comparison docs/manual/manual.html @ 563:8c6c3363e18e

Update manual to reflect pragma nolistcode and correct nolist semantics
author William Astle <lost@l-w.ca>
date Fri, 01 Dec 2023 21:16:54 -0700
parents 543b5d1341d2
children fc072f6cde09
comparison
equal deleted inserted replaced
562:6237505ee1dc 563:8c6c3363e18e
198 HREF="#CONVINST" 198 HREF="#CONVINST"
199 >Convenience Instructions</A 199 >Convenience Instructions</A
200 ></DT 200 ></DT
201 ><DT 201 ><DT
202 >3.12. <A 202 >3.12. <A
203 HREF="#AEN822" 203 HREF="#AEN826"
204 >Cycle Counts</A 204 >Cycle Counts</A
205 ></DT 205 ></DT
206 ></DL 206 ></DL
207 ></DD 207 ></DD
208 ><DT 208 ><DT
209 >4. <A 209 >4. <A
210 HREF="#AEN828" 210 HREF="#AEN832"
211 >LWLINK</A 211 >LWLINK</A
212 ></DT 212 ></DT
213 ><DD 213 ><DD
214 ><DL 214 ><DL
215 ><DT 215 ><DT
216 >4.1. <A 216 >4.1. <A
217 HREF="#AEN831" 217 HREF="#AEN835"
218 >Command Line Options</A 218 >Command Line Options</A
219 ></DT 219 ></DT
220 ><DT 220 ><DT
221 >4.2. <A 221 >4.2. <A
222 HREF="#AEN928" 222 HREF="#AEN932"
223 >Linker Operation</A 223 >Linker Operation</A
224 ></DT 224 ></DT
225 ><DT 225 ><DT
226 >4.3. <A 226 >4.3. <A
227 HREF="#AEN942" 227 HREF="#AEN946"
228 >Linking Scripts</A 228 >Linking Scripts</A
229 ></DT 229 ></DT
230 ><DT 230 ><DT
231 >4.4. <A 231 >4.4. <A
232 HREF="#AEN1009" 232 HREF="#AEN1013"
233 >Format Specific Linking Notes</A 233 >Format Specific Linking Notes</A
234 ></DT 234 ></DT
235 ><DD 235 ><DD
236 ><DL 236 ><DL
237 ><DT 237 ><DT
238 >4.4.1. <A 238 >4.4.1. <A
239 HREF="#AEN1012" 239 HREF="#AEN1016"
240 >OS9 Modules</A 240 >OS9 Modules</A
241 ></DT 241 ></DT
242 ></DL 242 ></DL
243 ></DD 243 ></DD
244 ></DL 244 ></DL
245 ></DD 245 ></DD
246 ><DT 246 ><DT
247 >5. <A 247 >5. <A
248 HREF="#AEN1024" 248 HREF="#AEN1028"
249 >Libraries and LWAR</A 249 >Libraries and LWAR</A
250 ></DT 250 ></DT
251 ><DD 251 ><DD
252 ><DL 252 ><DL
253 ><DT 253 ><DT
254 >5.1. <A 254 >5.1. <A
255 HREF="#AEN1028" 255 HREF="#AEN1032"
256 >Command Line Options</A 256 >Command Line Options</A
257 ></DT 257 ></DT
258 ></DL 258 ></DL
259 ></DD 259 ></DD
260 ><DT 260 ><DT
272 ><B 272 ><B
273 >List of Tables</B 273 >List of Tables</B
274 ></DT 274 ></DT
275 ><DT 275 ><DT
276 >6-1. <A 276 >6-1. <A
277 HREF="#AEN1111" 277 HREF="#AEN1115"
278 >Object File Term Types</A 278 >Object File Term Types</A
279 ></DT 279 ></DT
280 ><DT 280 ><DT
281 >6-2. <A 281 >6-2. <A
282 HREF="#AEN1141" 282 HREF="#AEN1145"
283 >Object File Operator Numbers</A 283 >Object File Operator Numbers</A
284 ></DT 284 ></DT
285 ></DL 285 ></DL
286 ></DIV 286 ></DIV
287 ><DIV 287 ><DIV
905 > option or the 905 > option or the
906 <CODE 906 <CODE
907 CLASS="PARAMETER" 907 CLASS="PARAMETER"
908 >6800compat</CODE 908 >6800compat</CODE
909 > pragma. It also supports all known HD6309 909 > pragma. It also supports all known HD6309
910 instructions. While there is general agreement on the pneumonics for most 910 instructions. While there is general agreement on the mnemonics for most
911 of the 6309 instructions, there is some variance with the block transfer 911 of the 6309 instructions, there is some variance with the block transfer
912 instructions. TFM for all four variations seems to have gained the most 912 instructions. TFM for all four variations seems to have gained the most
913 traction and, thus, this is the form that is recommended for LWASM. 913 traction and, thus, this is the form that is recommended for LWASM.
914 However, it also supports COPY, COPY-, IMP, EXP, TFRP, TFRM, TFRS, and TFRR. 914 However, it also supports COPY, COPY-, IMP, EXP, TFRP, TFRM, TFRS, and TFRR.
915 It further adds COPY+ as a synomym for COPY, IMPLODE for IMP, and EXPAND for 915 It further adds COPY+ as a synomym for COPY, IMPLODE for IMP, and EXPAND for
2447 ><P 2447 ><P
2448 >Lines where this pragma is in effect will not appear in the assembly 2448 >Lines where this pragma is in effect will not appear in the assembly
2449 listing. Also, any symbols defined under this pragma will not show up in 2449 listing. Also, any symbols defined under this pragma will not show up in
2450 the symbol list. This is most useful in include files to avoid spamming the 2450 the symbol list. This is most useful in include files to avoid spamming the
2451 assembly listing with dozens, hundreds, or thousands of irrelevant 2451 assembly listing with dozens, hundreds, or thousands of irrelevant
2452 symbols.</P 2452 symbols. It is important to note that this pragma will not hide lines that
2453 generate output to the binary.</P
2454 ></DD
2455 ><DT
2456 >nolistcode</DT
2457 ><DD
2458 ><P
2459 >Lines where this pragma is in effect will not appear in the assembly
2460 listing. Also, any symbols defined under this pragma will not show up in
2461 the symbol list. This is most useful in include files to avoid spamming the
2462 assembly listing with dozens, hundreds, or thousands of irrelevant
2463 symbols. Unlike "nolist", this pragma will hide lines that generate output
2464 to the binary.</P
2453 ></DD 2465 ></DD
2454 ><DT 2466 ><DT
2455 >autobranchlength</DT 2467 >autobranchlength</DT
2456 ><DD 2468 ><DD
2457 ><P 2469 ><P
2680 ><DIV 2692 ><DIV
2681 CLASS="SECTION" 2693 CLASS="SECTION"
2682 ><HR><H2 2694 ><HR><H2
2683 CLASS="SECTION" 2695 CLASS="SECTION"
2684 ><A 2696 ><A
2685 NAME="AEN822" 2697 NAME="AEN826"
2686 >3.12. Cycle Counts</A 2698 >3.12. Cycle Counts</A
2687 ></H2 2699 ></H2
2688 ><P 2700 ><P
2689 >&#13;The following options for displaying cycle counts in listings are provided. 2701 >&#13;The following options for displaying cycle counts in listings are provided.
2690 These options are enabled from pragmas on the command line or in the 2702 These options are enabled from pragmas on the command line or in the
2719 ></DIV 2731 ></DIV
2720 ><DIV 2732 ><DIV
2721 CLASS="CHAPTER" 2733 CLASS="CHAPTER"
2722 ><HR><H1 2734 ><HR><H1
2723 ><A 2735 ><A
2724 NAME="AEN828" 2736 NAME="AEN832"
2725 ></A 2737 ></A
2726 >Chapter 4. LWLINK</H1 2738 >Chapter 4. LWLINK</H1
2727 ><P 2739 ><P
2728 >The LWTOOLS linker is called LWLINK. This chapter documents the various features 2740 >The LWTOOLS linker is called LWLINK. This chapter documents the various features
2729 of the linker.</P 2741 of the linker.</P
2730 ><DIV 2742 ><DIV
2731 CLASS="SECTION" 2743 CLASS="SECTION"
2732 ><HR><H2 2744 ><HR><H2
2733 CLASS="SECTION" 2745 CLASS="SECTION"
2734 ><A 2746 ><A
2735 NAME="AEN831" 2747 NAME="AEN835"
2736 >4.1. Command Line Options</A 2748 >4.1. Command Line Options</A
2737 ></H2 2749 ></H2
2738 ><P 2750 ><P
2739 >The binary for LWLINK is called "lwlink". Note that the binary is in lower 2751 >The binary for LWLINK is called "lwlink". Note that the binary is in lower
2740 case. lwlink takes the following command line arguments.</P 2752 case. lwlink takes the following command line arguments.</P
2928 ><DIV 2940 ><DIV
2929 CLASS="SECTION" 2941 CLASS="SECTION"
2930 ><HR><H2 2942 ><HR><H2
2931 CLASS="SECTION" 2943 CLASS="SECTION"
2932 ><A 2944 ><A
2933 NAME="AEN928" 2945 NAME="AEN932"
2934 >4.2. Linker Operation</A 2946 >4.2. Linker Operation</A
2935 ></H2 2947 ></H2
2936 ><P 2948 ><P
2937 >&#13;LWLINK takes one or more files in supported input formats and links them 2949 >&#13;LWLINK takes one or more files in supported input formats and links them
2938 into a single binary. Currently supported formats are the LWTOOLS object 2950 into a single binary. Currently supported formats are the LWTOOLS object
2984 ><DIV 2996 ><DIV
2985 CLASS="SECTION" 2997 CLASS="SECTION"
2986 ><HR><H2 2998 ><HR><H2
2987 CLASS="SECTION" 2999 CLASS="SECTION"
2988 ><A 3000 ><A
2989 NAME="AEN942" 3001 NAME="AEN946"
2990 >4.3. Linking Scripts</A 3002 >4.3. Linking Scripts</A
2991 ></H2 3003 ></H2
2992 ><P 3004 ><P
2993 >A linker script is used to instruct the linker about how to assemble the 3005 >A linker script is used to instruct the linker about how to assemble the
2994 various sections into a completed binary. It consists of a series of 3006 various sections into a completed binary. It consists of a series of
3191 ><DIV 3203 ><DIV
3192 CLASS="SECTION" 3204 CLASS="SECTION"
3193 ><HR><H2 3205 ><HR><H2
3194 CLASS="SECTION" 3206 CLASS="SECTION"
3195 ><A 3207 ><A
3196 NAME="AEN1009" 3208 NAME="AEN1013"
3197 >4.4. Format Specific Linking Notes</A 3209 >4.4. Format Specific Linking Notes</A
3198 ></H2 3210 ></H2
3199 ><P 3211 ><P
3200 >Some formats require special information to be able to generate actual 3212 >Some formats require special information to be able to generate actual
3201 binaries. If the specific format you are interested in is not listed in 3213 binaries. If the specific format you are interested in is not listed in
3204 ><DIV 3216 ><DIV
3205 CLASS="SECTION" 3217 CLASS="SECTION"
3206 ><HR><H3 3218 ><HR><H3
3207 CLASS="SECTION" 3219 CLASS="SECTION"
3208 ><A 3220 ><A
3209 NAME="AEN1012" 3221 NAME="AEN1016"
3210 >4.4.1. OS9 Modules</A 3222 >4.4.1. OS9 Modules</A
3211 ></H3 3223 ></H3
3212 ><P 3224 ><P
3213 >OS9 modules need to embed several items into the module header. These 3225 >OS9 modules need to embed several items into the module header. These
3214 items are the type of module, the langauge of the module, the module 3226 items are the type of module, the langauge of the module, the module
3280 ></DIV 3292 ></DIV
3281 ><DIV 3293 ><DIV
3282 CLASS="CHAPTER" 3294 CLASS="CHAPTER"
3283 ><HR><H1 3295 ><HR><H1
3284 ><A 3296 ><A
3285 NAME="AEN1024" 3297 NAME="AEN1028"
3286 ></A 3298 ></A
3287 >Chapter 5. Libraries and LWAR</H1 3299 >Chapter 5. Libraries and LWAR</H1
3288 ><P 3300 ><P
3289 >LWTOOLS also includes a tool for managing libraries. These are analogous to 3301 >LWTOOLS also includes a tool for managing libraries. These are analogous to
3290 the static libraries created with the "ar" tool on POSIX systems. Each library 3302 the static libraries created with the "ar" tool on POSIX systems. Each library
3299 ><DIV 3311 ><DIV
3300 CLASS="SECTION" 3312 CLASS="SECTION"
3301 ><HR><H2 3313 ><HR><H2
3302 CLASS="SECTION" 3314 CLASS="SECTION"
3303 ><A 3315 ><A
3304 NAME="AEN1028" 3316 NAME="AEN1032"
3305 >5.1. Command Line Options</A 3317 >5.1. Command Line Options</A
3306 ></H2 3318 ></H2
3307 ><P 3319 ><P
3308 >The binary for LWAR is called "lwar". Note that the binary is in lower 3320 >The binary for LWAR is called "lwar". Note that the binary is in lower
3309 case. The options lwar understands are listed below. For archive manipulation 3321 case. The options lwar understands are listed below. For archive manipulation
3500 followed by any data required by the term. Then end of the list is flagged 3512 followed by any data required by the term. Then end of the list is flagged
3501 by a NULL expression (only an end of expression term).</P 3513 by a NULL expression (only an end of expression term).</P
3502 ><DIV 3514 ><DIV
3503 CLASS="TABLE" 3515 CLASS="TABLE"
3504 ><A 3516 ><A
3505 NAME="AEN1111" 3517 NAME="AEN1115"
3506 ></A 3518 ></A
3507 ><P 3519 ><P
3508 ><B 3520 ><B
3509 >Table 6-1. Object File Term Types</B 3521 >Table 6-1. Object File Term Types</B
3510 ></P 3522 ></P
3572 allows local symbols that are not exported to have the same names as 3584 allows local symbols that are not exported to have the same names as
3573 exported symbols or external references.</P 3585 exported symbols or external references.</P
3574 ><DIV 3586 ><DIV
3575 CLASS="TABLE" 3587 CLASS="TABLE"
3576 ><A 3588 ><A
3577 NAME="AEN1141" 3589 NAME="AEN1145"
3578 ></A 3590 ></A
3579 ><P 3591 ><P
3580 ><B 3592 ><B
3581 >Table 6-2. Object File Operator Numbers</B 3593 >Table 6-2. Object File Operator Numbers</B
3582 ></P 3594 ></P