Mercurial > hg > index.cgi
comparison docs/manual/x229.html @ 333:507f442dc71e
Add support for 6800 compatibility instructions.
The occasional program uses the 6800 compatibility instructions since they
are actually specified by Motorola in at least some documentation. They
advertised the 6809 as source compatible with the 6800.
This mode is not enabled by default, however. It is my belief that receiving
an error when using a non-6809 instruction is more useful since it is
unlikely that much 6800 source code is being assembled for the 6809 these
days. Nevertheless, the --6809compat option is present for just those
purposes so one does not have to resort to using macros (which would work
equally well in most cases).
author | William Astle <lost@l-w.ca> |
---|---|
date | Tue, 15 Apr 2014 10:57:34 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
332:26bfe8d557e2 | 333:507f442dc71e |
---|---|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> | |
2 <HTML | |
3 ><HEAD | |
4 ><TITLE | |
5 >Assembler Directives</TITLE | |
6 ><META | |
7 NAME="GENERATOR" | |
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK | |
9 REL="HOME" | |
10 TITLE="LW Tool Chain" | |
11 HREF="index.html"><LINK | |
12 REL="UP" | |
13 TITLE="LWASM" | |
14 HREF="c62.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="Numbers and Expressions" | |
17 HREF="x221.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="Macros" | |
20 HREF="x520.html"></HEAD | |
21 ><BODY | |
22 CLASS="SECTION" | |
23 BGCOLOR="#FFFFFF" | |
24 TEXT="#000000" | |
25 LINK="#0000FF" | |
26 VLINK="#840084" | |
27 ALINK="#0000FF" | |
28 ><DIV | |
29 CLASS="NAVHEADER" | |
30 ><TABLE | |
31 SUMMARY="Header navigation table" | |
32 WIDTH="100%" | |
33 BORDER="0" | |
34 CELLPADDING="0" | |
35 CELLSPACING="0" | |
36 ><TR | |
37 ><TH | |
38 COLSPAN="3" | |
39 ALIGN="center" | |
40 >LW Tool Chain</TH | |
41 ></TR | |
42 ><TR | |
43 ><TD | |
44 WIDTH="10%" | |
45 ALIGN="left" | |
46 VALIGN="bottom" | |
47 ><A | |
48 HREF="x221.html" | |
49 ACCESSKEY="P" | |
50 >Prev</A | |
51 ></TD | |
52 ><TD | |
53 WIDTH="80%" | |
54 ALIGN="center" | |
55 VALIGN="bottom" | |
56 >Chapter 3. LWASM</TD | |
57 ><TD | |
58 WIDTH="10%" | |
59 ALIGN="right" | |
60 VALIGN="bottom" | |
61 ><A | |
62 HREF="x520.html" | |
63 ACCESSKEY="N" | |
64 >Next</A | |
65 ></TD | |
66 ></TR | |
67 ></TABLE | |
68 ><HR | |
69 ALIGN="LEFT" | |
70 WIDTH="100%"></DIV | |
71 ><DIV | |
72 CLASS="SECTION" | |
73 ><H1 | |
74 CLASS="SECTION" | |
75 ><A | |
76 NAME="AEN229" | |
77 >3.6. Assembler Directives</A | |
78 ></H1 | |
79 ><P | |
80 >Various directives can be used to control the behaviour of the | |
81 assembler or to include non-code/data in the resulting output. Those directives | |
82 that are not described in detail in other sections of this document are | |
83 described below.</P | |
84 ><DIV | |
85 CLASS="SECTION" | |
86 ><H2 | |
87 CLASS="SECTION" | |
88 ><A | |
89 NAME="AEN232" | |
90 >3.6.1. Data Directives</A | |
91 ></H2 | |
92 ><P | |
93 ></P | |
94 ><DIV | |
95 CLASS="VARIABLELIST" | |
96 ><DL | |
97 ><DT | |
98 >FCB <CODE | |
99 CLASS="PARAMETER" | |
100 >expr[,...]</CODE | |
101 >, .DB <CODE | |
102 CLASS="PARAMETER" | |
103 >expr[,...]</CODE | |
104 >, .BYTE <CODE | |
105 CLASS="PARAMETER" | |
106 >expr[,...]</CODE | |
107 ></DT | |
108 ><DD | |
109 ><P | |
110 >Include one or more constant bytes (separated by commas) in the output.</P | |
111 ></DD | |
112 ><DT | |
113 >FDB <CODE | |
114 CLASS="PARAMETER" | |
115 >expr[,...]</CODE | |
116 >, .DW <CODE | |
117 CLASS="PARAMETER" | |
118 >expr[,...]</CODE | |
119 >, .WORD <CODE | |
120 CLASS="PARAMETER" | |
121 >expr[,...]</CODE | |
122 ></DT | |
123 ><DD | |
124 ><P | |
125 >Include one or more words (separated by commas) in the output.</P | |
126 ></DD | |
127 ><DT | |
128 >FQB <CODE | |
129 CLASS="PARAMETER" | |
130 >expr[,...]</CODE | |
131 >, .QUAD <CODE | |
132 CLASS="PARAMETER" | |
133 >expr[,...]</CODE | |
134 >, .4BYTE <CODE | |
135 CLASS="PARAMETER" | |
136 >expr[,...]</CODE | |
137 ></DT | |
138 ><DD | |
139 ><P | |
140 >Include one or more double words (separated by commas) in the output.</P | |
141 ></DD | |
142 ><DT | |
143 >FCC <CODE | |
144 CLASS="PARAMETER" | |
145 >string</CODE | |
146 >, .ASCII <CODE | |
147 CLASS="PARAMETER" | |
148 >string</CODE | |
149 >, .STR <CODE | |
150 CLASS="PARAMETER" | |
151 >string</CODE | |
152 ></DT | |
153 ><DD | |
154 ><P | |
155 >Include a string of text in the output. The first character of the operand | |
156 is the delimiter which must appear as the last character and cannot appear | |
157 within the string. The string is included with no modifications></P | |
158 ></DD | |
159 ><DT | |
160 >FCN <CODE | |
161 CLASS="PARAMETER" | |
162 >string</CODE | |
163 >, .ASCIZ <CODE | |
164 CLASS="PARAMETER" | |
165 >string</CODE | |
166 >, .STRZ <CODE | |
167 CLASS="PARAMETER" | |
168 >string</CODE | |
169 ></DT | |
170 ><DD | |
171 ><P | |
172 >Include a NUL terminated string of text in the output. The first character of | |
173 the operand is the delimiter which must appear as the last character and | |
174 cannot appear within the string. A NUL byte is automatically appended to | |
175 the string.</P | |
176 ></DD | |
177 ><DT | |
178 >FCS <CODE | |
179 CLASS="PARAMETER" | |
180 >string</CODE | |
181 >, .ASCIS <CODE | |
182 CLASS="PARAMETER" | |
183 >string</CODE | |
184 >, .STRS <CODE | |
185 CLASS="PARAMETER" | |
186 >string</CODE | |
187 ></DT | |
188 ><DD | |
189 ><P | |
190 >Include a string of text in the output with bit 7 of the final byte set. The | |
191 first character of the operand is the delimiter which must appear as the last | |
192 character and cannot appear within the string.</P | |
193 ></DD | |
194 ><DT | |
195 >ZMB <CODE | |
196 CLASS="PARAMETER" | |
197 >expr</CODE | |
198 ></DT | |
199 ><DD | |
200 ><P | |
201 >Include a number of NUL bytes in the output. The number must be fully resolvable | |
202 during pass 1 of assembly so no forward or external references are permitted.</P | |
203 ></DD | |
204 ><DT | |
205 >ZMD <CODE | |
206 CLASS="PARAMETER" | |
207 >expr</CODE | |
208 ></DT | |
209 ><DD | |
210 ><P | |
211 >Include a number of zero words in the output. The number must be fully | |
212 resolvable during pass 1 of assembly so no forward or external references are | |
213 permitted.</P | |
214 ></DD | |
215 ><DT | |
216 >ZMQ <CODE | |
217 CLASS="PARAMETER" | |
218 >expr<CODE | |
219 CLASS="PARAMETER" | |
220 ></CODE | |
221 ></CODE | |
222 ></DT | |
223 ><DD | |
224 ><P | |
225 >Include a number of zero double-words in the output. The number must be fully | |
226 resolvable during pass 1 of assembly so no forward or external references are | |
227 permitted.</P | |
228 ></DD | |
229 ><DT | |
230 >RMB <CODE | |
231 CLASS="PARAMETER" | |
232 >expr</CODE | |
233 >, .BLKB <CODE | |
234 CLASS="PARAMETER" | |
235 >expr</CODE | |
236 >, .DS <CODE | |
237 CLASS="PARAMETER" | |
238 >expr</CODE | |
239 >, .RS <CODE | |
240 CLASS="PARAMETER" | |
241 >expr</CODE | |
242 ></DT | |
243 ><DD | |
244 ><P | |
245 >Reserve a number of bytes in the output. The number must be fully resolvable | |
246 during pass 1 of assembly so no forward or external references are permitted. | |
247 The value of the bytes is undefined.</P | |
248 ></DD | |
249 ><DT | |
250 >RMD <CODE | |
251 CLASS="PARAMETER" | |
252 >expr</CODE | |
253 ></DT | |
254 ><DD | |
255 ><P | |
256 >Reserve a number of words in the output. The number must be fully | |
257 resolvable during pass 1 of assembly so no forward or external references are | |
258 permitted. The value of the words is undefined.</P | |
259 ></DD | |
260 ><DT | |
261 >RMQ <CODE | |
262 CLASS="PARAMETER" | |
263 >expr</CODE | |
264 ></DT | |
265 ><DD | |
266 ><P | |
267 >Reserve a number of double-words in the output. The number must be fully | |
268 resolvable during pass 1 of assembly so no forward or external references are | |
269 permitted. The value of the double-words is undefined.</P | |
270 ></DD | |
271 ><DT | |
272 >INCLUDEBIN <CODE | |
273 CLASS="PARAMETER" | |
274 >filename</CODE | |
275 ></DT | |
276 ><DD | |
277 ><P | |
278 >Treat the contents of <CODE | |
279 CLASS="PARAMETER" | |
280 >filename</CODE | |
281 > as a string of bytes to | |
282 be included literally at the current assembly point. This has the same effect | |
283 as converting the file contents to a series of FCB statements and including | |
284 those at the current assembly point.</P | |
285 ><P | |
286 > If <CODE | |
287 CLASS="PARAMETER" | |
288 >filename</CODE | |
289 > beings with a /, the file name | |
290 will be taken as absolute. Otherwise, the current directory will be | |
291 searched followed by the search path in the order specified.</P | |
292 ><P | |
293 > Please note that absolute path detection including drive letters will | |
294 not function correctly on Windows platforms. Non-absolute inclusion will | |
295 work, however.</P | |
296 ></DD | |
297 ><DT | |
298 >FILL <CODE | |
299 CLASS="PARAMETER" | |
300 >size</CODE | |
301 >,<CODE | |
302 CLASS="PARAMETER" | |
303 >byte</CODE | |
304 ></DT | |
305 ><DD | |
306 ><P | |
307 >Insert <CODE | |
308 CLASS="PARAMETER" | |
309 >size</CODE | |
310 > bytes of <CODE | |
311 CLASS="PARAMETER" | |
312 >byte</CODE | |
313 >.</P | |
314 ></DD | |
315 ></DL | |
316 ></DIV | |
317 ></DIV | |
318 ><DIV | |
319 CLASS="SECTION" | |
320 ><H2 | |
321 CLASS="SECTION" | |
322 ><A | |
323 NAME="AEN343" | |
324 >3.6.2. Address Definition</A | |
325 ></H2 | |
326 ><P | |
327 >The directives in this section all control the addresses of symbols | |
328 or the assembly process itself.</P | |
329 ><P | |
330 ></P | |
331 ><DIV | |
332 CLASS="VARIABLELIST" | |
333 ><DL | |
334 ><DT | |
335 >ORG <CODE | |
336 CLASS="PARAMETER" | |
337 >expr</CODE | |
338 ></DT | |
339 ><DD | |
340 ><P | |
341 >Set the assembly address. The address must be fully resolvable on the | |
342 first pass so no external or forward references are permitted. ORG is not | |
343 permitted within sections when outputting to object files. For target formats | |
344 that include address information (decb, hex, srec, and ihex), an ORG | |
345 directive will re-start the address sequence within the output. When using | |
346 the raw target format, ORG is used only to determine the addresses of symbols.</P | |
347 ></DD | |
348 ><DT | |
349 ><CODE | |
350 CLASS="PARAMETER" | |
351 >sym</CODE | |
352 > EQU <CODE | |
353 CLASS="PARAMETER" | |
354 >expr</CODE | |
355 >, <CODE | |
356 CLASS="PARAMETER" | |
357 >sym</CODE | |
358 > = <CODE | |
359 CLASS="PARAMETER" | |
360 >expr</CODE | |
361 ></DT | |
362 ><DD | |
363 ><P | |
364 >Define the value of <CODE | |
365 CLASS="PARAMETER" | |
366 >sym</CODE | |
367 > to be <CODE | |
368 CLASS="PARAMETER" | |
369 >expr</CODE | |
370 >.</P | |
371 ></DD | |
372 ><DT | |
373 ><CODE | |
374 CLASS="PARAMETER" | |
375 >sym</CODE | |
376 > SET <CODE | |
377 CLASS="PARAMETER" | |
378 >expr</CODE | |
379 ></DT | |
380 ><DD | |
381 ><P | |
382 >Define the value of <CODE | |
383 CLASS="PARAMETER" | |
384 >sym</CODE | |
385 > to be <CODE | |
386 CLASS="PARAMETER" | |
387 >expr</CODE | |
388 >. | |
389 Unlike EQU, SET permits symbols to be defined multiple times as long as SET | |
390 is used for all instances. Use of the symbol before the first SET statement | |
391 that sets its value is undefined.</P | |
392 ></DD | |
393 ><DT | |
394 >SETDP <CODE | |
395 CLASS="PARAMETER" | |
396 >expr</CODE | |
397 ></DT | |
398 ><DD | |
399 ><P | |
400 >Inform the assembler that it can assume the DP register contains | |
401 <CODE | |
402 CLASS="PARAMETER" | |
403 >expr</CODE | |
404 >. This directive is only advice to the assembler | |
405 to determine whether an address is in the direct page and has no effect | |
406 on the contents of the DP register. The value must be fully resolved during | |
407 the first assembly pass because it affects the sizes of subsequent instructions.</P | |
408 ><P | |
409 >This directive has no effect in the object file target.</P | |
410 ></DD | |
411 ><DT | |
412 >ALIGN <CODE | |
413 CLASS="PARAMETER" | |
414 >expr</CODE | |
415 >[,<CODE | |
416 CLASS="PARAMETER" | |
417 >value</CODE | |
418 >]</DT | |
419 ><DD | |
420 ><P | |
421 >Force the current assembly address to be a multiple of | |
422 <CODE | |
423 CLASS="PARAMETER" | |
424 >expr</CODE | |
425 >. If <CODE | |
426 CLASS="PARAMETER" | |
427 >value</CODE | |
428 > is not | |
429 specified, a series of NUL bytes is output to force the alignment, if | |
430 required. Otherwise, the low order 8 bits of <CODE | |
431 CLASS="PARAMETER" | |
432 >value</CODE | |
433 > | |
434 will be used as the fill. The alignment value must be fully resolved on the | |
435 first pass because it affects the addresses of subsquent instructions. | |
436 However, <CODE | |
437 CLASS="PARAMETER" | |
438 >value</CODE | |
439 > may include forward references; as | |
440 long as it resolves to a constant for the second pass, the value will be | |
441 accepted.</P | |
442 ><P | |
443 >Unless <CODE | |
444 CLASS="PARAMETER" | |
445 >value</CODE | |
446 > is specified as something like $12, | |
447 this directive is not suitable for inclusion in the middle of actual code. | |
448 The default padding value is $00 which is intended to be used within data | |
449 blocks. </P | |
450 ></DD | |
451 ></DL | |
452 ></DIV | |
453 ></DIV | |
454 ><DIV | |
455 CLASS="SECTION" | |
456 ><H2 | |
457 CLASS="SECTION" | |
458 ><A | |
459 NAME="AEN390" | |
460 >3.6.3. Conditional Assembly</A | |
461 ></H2 | |
462 ><P | |
463 >Portions of the source code can be excluded or included based on conditions | |
464 known at assembly time. Conditionals can be nested arbitrarily deeply. The | |
465 directives associated with conditional assembly are described in this section.</P | |
466 ><P | |
467 >All conditionals must be fully bracketed. That is, every conditional | |
468 statement must eventually be followed by an ENDC at the same level of nesting.</P | |
469 ><P | |
470 >Conditional expressions are only evaluated on the first assembly pass. | |
471 It is not possible to game the assembly process by having a conditional | |
472 change its value between assembly passes. Due to the underlying architecture | |
473 of LWASM, there is no possible utility to IFP1 and IFP2, nor can they, as of LWASM 3.0, actually | |
474 be implemented meaningfully. Thus there is not and never will | |
475 be any equivalent of IFP1 or IFP2 as provided by other assemblers. Use of those opcodes | |
476 will throw a warning and be ignored.</P | |
477 ><P | |
478 >It is important to note that if a conditional does not resolve to a constant | |
479 during the first parsing pass, an error will be thrown. This is unavoidable because the assembler | |
480 must make a decision about which source to include and which source to exclude at this stage. | |
481 Thus, expressions that work normally elsewhere will not work for conditions.</P | |
482 ><P | |
483 ></P | |
484 ><DIV | |
485 CLASS="VARIABLELIST" | |
486 ><DL | |
487 ><DT | |
488 >IFEQ <CODE | |
489 CLASS="PARAMETER" | |
490 >expr</CODE | |
491 ></DT | |
492 ><DD | |
493 ><P | |
494 >If <CODE | |
495 CLASS="PARAMETER" | |
496 >expr</CODE | |
497 > evaluates to zero, the conditional | |
498 will be considered true.</P | |
499 ></DD | |
500 ><DT | |
501 >IFNE <CODE | |
502 CLASS="PARAMETER" | |
503 >expr</CODE | |
504 >, IF <CODE | |
505 CLASS="PARAMETER" | |
506 >expr</CODE | |
507 ></DT | |
508 ><DD | |
509 ><P | |
510 >If <CODE | |
511 CLASS="PARAMETER" | |
512 >expr</CODE | |
513 > evaluates to a non-zero value, the conditional | |
514 will be considered true.</P | |
515 ></DD | |
516 ><DT | |
517 >IFGT <CODE | |
518 CLASS="PARAMETER" | |
519 >expr</CODE | |
520 ></DT | |
521 ><DD | |
522 ><P | |
523 >If <CODE | |
524 CLASS="PARAMETER" | |
525 >expr</CODE | |
526 > evaluates to a value greater than zero, the conditional | |
527 will be considered true.</P | |
528 ></DD | |
529 ><DT | |
530 >IFGE <CODE | |
531 CLASS="PARAMETER" | |
532 >expr</CODE | |
533 ></DT | |
534 ><DD | |
535 ><P | |
536 >If <CODE | |
537 CLASS="PARAMETER" | |
538 >expr</CODE | |
539 > evaluates to a value greater than or equal to zero, the conditional | |
540 will be considered true.</P | |
541 ></DD | |
542 ><DT | |
543 >IFLT <CODE | |
544 CLASS="PARAMETER" | |
545 >expr</CODE | |
546 ></DT | |
547 ><DD | |
548 ><P | |
549 >If <CODE | |
550 CLASS="PARAMETER" | |
551 >expr</CODE | |
552 > evaluates to a value less than zero, the conditional | |
553 will be considered true.</P | |
554 ></DD | |
555 ><DT | |
556 >IFLE <CODE | |
557 CLASS="PARAMETER" | |
558 >expr</CODE | |
559 ></DT | |
560 ><DD | |
561 ><P | |
562 >If <CODE | |
563 CLASS="PARAMETER" | |
564 >expr</CODE | |
565 > evaluates to a value less than or equal to zero , the conditional | |
566 will be considered true.</P | |
567 ></DD | |
568 ><DT | |
569 >IFDEF <CODE | |
570 CLASS="PARAMETER" | |
571 >sym</CODE | |
572 ></DT | |
573 ><DD | |
574 ><P | |
575 >If <CODE | |
576 CLASS="PARAMETER" | |
577 >sym</CODE | |
578 > is defined at this point in the assembly | |
579 process, the conditional | |
580 will be considered true.</P | |
581 ></DD | |
582 ><DT | |
583 >IFNDEF <CODE | |
584 CLASS="PARAMETER" | |
585 >sym</CODE | |
586 ></DT | |
587 ><DD | |
588 ><P | |
589 >If <CODE | |
590 CLASS="PARAMETER" | |
591 >sym</CODE | |
592 > is not defined at this point in the assembly | |
593 process, the conditional | |
594 will be considered true.</P | |
595 ></DD | |
596 ><DT | |
597 >ELSE</DT | |
598 ><DD | |
599 ><P | |
600 >If the preceding conditional at the same level of nesting was false, the | |
601 statements following will be assembled. If the preceding conditional at | |
602 the same level was true, the statements following will not be assembled. | |
603 Note that the preceding conditional might have been another ELSE statement | |
604 although this behaviour is not guaranteed to be supported in future versions | |
605 of LWASM.</P | |
606 ></DD | |
607 ><DT | |
608 >ENDC</DT | |
609 ><DD | |
610 ><P | |
611 >This directive marks the end of a conditional construct. Every conditional | |
612 construct must end with an ENDC directive.</P | |
613 ></DD | |
614 ></DL | |
615 ></DIV | |
616 ></DIV | |
617 ><DIV | |
618 CLASS="SECTION" | |
619 ><H2 | |
620 CLASS="SECTION" | |
621 ><A | |
622 NAME="AEN455" | |
623 >3.6.4. OS9 Target Directives</A | |
624 ></H2 | |
625 ><P | |
626 >This section includes directives that apply solely to the OS9 | |
627 target.</P | |
628 ><P | |
629 ></P | |
630 ><DIV | |
631 CLASS="VARIABLELIST" | |
632 ><DL | |
633 ><DT | |
634 >OS9 <CODE | |
635 CLASS="PARAMETER" | |
636 >syscall</CODE | |
637 ></DT | |
638 ><DD | |
639 ><P | |
640 > This directive generates a call to the specified system call. <CODE | |
641 CLASS="PARAMETER" | |
642 >syscall</CODE | |
643 > may be an arbitrary expression. </P | |
644 ></DD | |
645 ><DT | |
646 >MOD <CODE | |
647 CLASS="PARAMETER" | |
648 >size</CODE | |
649 >,<CODE | |
650 CLASS="PARAMETER" | |
651 >name</CODE | |
652 >,<CODE | |
653 CLASS="PARAMETER" | |
654 >type</CODE | |
655 >,<CODE | |
656 CLASS="PARAMETER" | |
657 >flags</CODE | |
658 >,<CODE | |
659 CLASS="PARAMETER" | |
660 >execoff</CODE | |
661 >,<CODE | |
662 CLASS="PARAMETER" | |
663 >datasize</CODE | |
664 ></DT | |
665 ><DD | |
666 ><P | |
667 > This tells LWASM that the beginning of the actual module is here. It will | |
668 generate a module header based on the parameters specified. It will also | |
669 begin calcuating the module CRC. </P | |
670 ><P | |
671 > The precise meaning of the various parameters is beyond the scope of this | |
672 document since it is not a tutorial on OS9 module programming. </P | |
673 ></DD | |
674 ><DT | |
675 >EMOD</DT | |
676 ><DD | |
677 ><P | |
678 > This marks the end of a module and causes LWASM to emit the calculated CRC | |
679 for the module. </P | |
680 ></DD | |
681 ></DL | |
682 ></DIV | |
683 ></DIV | |
684 ><DIV | |
685 CLASS="SECTION" | |
686 ><H2 | |
687 CLASS="SECTION" | |
688 ><A | |
689 NAME="AEN480" | |
690 >3.6.5. Miscelaneous Directives</A | |
691 ></H2 | |
692 ><P | |
693 >This section includes directives that do not fit into the other | |
694 categories.</P | |
695 ><P | |
696 ></P | |
697 ><DIV | |
698 CLASS="VARIABLELIST" | |
699 ><DL | |
700 ><DT | |
701 >INCLUDE <CODE | |
702 CLASS="PARAMETER" | |
703 >filename</CODE | |
704 >, USE <CODE | |
705 CLASS="PARAMETER" | |
706 >filename</CODE | |
707 ></DT | |
708 ><DD | |
709 ><P | |
710 > Include the contents of <CODE | |
711 CLASS="PARAMETER" | |
712 >filename</CODE | |
713 > at | |
714 this point in the assembly as though it were a part of the file currently | |
715 being processed. Note that if whitespace appears in the name of the file, | |
716 you must enclose <CODE | |
717 CLASS="PARAMETER" | |
718 >filename</CODE | |
719 > in quotes.</P | |
720 ><P | |
721 >Note that the USE variation is provided only for compatibility with other | |
722 assemblers. It is recommended to use the INCLUDE variation.</P | |
723 ><P | |
724 >If <CODE | |
725 CLASS="PARAMETER" | |
726 >filename</CODE | |
727 > begins with a "/", it is | |
728 interpreted as an absolute path. If it does not, the search path will be used | |
729 to find the file. First, the directory containing the file that contains this | |
730 directive. (Includes within an included file are relative to the included file, | |
731 not the file that included it.) If the file is not found there, the include path | |
732 is searched. If it is still not found, an error will be thrown. Note that the | |
733 current directory as understood by your shell or operating system is not searched.</P | |
734 ></DD | |
735 ><DT | |
736 >END <CODE | |
737 CLASS="PARAMETER" | |
738 >[expr]</CODE | |
739 ></DT | |
740 ><DD | |
741 ><P | |
742 >This directive causes the assembler to stop assembling immediately as though | |
743 it ran out of input. For the DECB target only, <CODE | |
744 CLASS="PARAMETER" | |
745 >expr</CODE | |
746 > | |
747 can be used to set the execution address of the resulting binary. For all | |
748 other targets, specifying <CODE | |
749 CLASS="PARAMETER" | |
750 >expr</CODE | |
751 > will cause an error.</P | |
752 ></DD | |
753 ><DT | |
754 >ERROR <CODE | |
755 CLASS="PARAMETER" | |
756 >string</CODE | |
757 ></DT | |
758 ><DD | |
759 ><P | |
760 >Causes a custom error message to be printed at this line. This will cause | |
761 assembly to fail. This directive is most useful inside conditional constructs | |
762 to cause assembly to fail if some condition that is known bad happens. Everything | |
763 from the directive to the end of the line is considered the error message.</P | |
764 ></DD | |
765 ><DT | |
766 >WARNING <CODE | |
767 CLASS="PARAMETER" | |
768 >string</CODE | |
769 ></DT | |
770 ><DD | |
771 ><P | |
772 >Causes a custom warning message to be printed at this line. This will not cause | |
773 assembly to fail. This directive is most useful inside conditional constructs | |
774 or include files to alert the programmer to a deprecated feature being used | |
775 or some other condition that may cause trouble later, but which may, in fact, | |
776 not cause any trouble.</P | |
777 ></DD | |
778 ><DT | |
779 >.MODULE <CODE | |
780 CLASS="PARAMETER" | |
781 >string</CODE | |
782 ></DT | |
783 ><DD | |
784 ><P | |
785 >This directive is ignored for most output targets. If the output target | |
786 supports encoding a module name into it, <CODE | |
787 CLASS="PARAMETER" | |
788 >string</CODE | |
789 > | |
790 will be used as the module name.</P | |
791 ><P | |
792 >As of version 3.0, no supported output targets support this directive.</P | |
793 ></DD | |
794 ></DL | |
795 ></DIV | |
796 ></DIV | |
797 ></DIV | |
798 ><DIV | |
799 CLASS="NAVFOOTER" | |
800 ><HR | |
801 ALIGN="LEFT" | |
802 WIDTH="100%"><TABLE | |
803 SUMMARY="Footer navigation table" | |
804 WIDTH="100%" | |
805 BORDER="0" | |
806 CELLPADDING="0" | |
807 CELLSPACING="0" | |
808 ><TR | |
809 ><TD | |
810 WIDTH="33%" | |
811 ALIGN="left" | |
812 VALIGN="top" | |
813 ><A | |
814 HREF="x221.html" | |
815 ACCESSKEY="P" | |
816 >Prev</A | |
817 ></TD | |
818 ><TD | |
819 WIDTH="34%" | |
820 ALIGN="center" | |
821 VALIGN="top" | |
822 ><A | |
823 HREF="index.html" | |
824 ACCESSKEY="H" | |
825 >Home</A | |
826 ></TD | |
827 ><TD | |
828 WIDTH="33%" | |
829 ALIGN="right" | |
830 VALIGN="top" | |
831 ><A | |
832 HREF="x520.html" | |
833 ACCESSKEY="N" | |
834 >Next</A | |
835 ></TD | |
836 ></TR | |
837 ><TR | |
838 ><TD | |
839 WIDTH="33%" | |
840 ALIGN="left" | |
841 VALIGN="top" | |
842 >Numbers and Expressions</TD | |
843 ><TD | |
844 WIDTH="34%" | |
845 ALIGN="center" | |
846 VALIGN="top" | |
847 ><A | |
848 HREF="c62.html" | |
849 ACCESSKEY="U" | |
850 >Up</A | |
851 ></TD | |
852 ><TD | |
853 WIDTH="33%" | |
854 ALIGN="right" | |
855 VALIGN="top" | |
856 >Macros</TD | |
857 ></TR | |
858 ></TABLE | |
859 ></DIV | |
860 ></BODY | |
861 ></HTML | |
862 > |