comparison doc/manual.docbook.sgml @ 167:751b99efb1fc

Updated docs
author lost
date Sat, 31 Jan 2009 18:59:40 +0000
parents 71561c12b20b
children f8ec28ace0c6
comparison
equal deleted inserted replaced
166:178995c346d9 167:751b99efb1fc
265 265
266 <para> 266 <para>
267 The standard addressing mode specifiers are supported. These are the 267 The standard addressing mode specifiers are supported. These are the
268 hash sign ("#") for immediate mode, the less than sign ("&lt;") for forced 268 hash sign ("#") for immediate mode, the less than sign ("&lt;") for forced
269 eight bit modes, and the greater than sign ("&gt;") for forced sixteen bit modes. 269 eight bit modes, and the greater than sign ("&gt;") for forced sixteen bit modes.
270 </para>
271
272 <para>
273 Additionally, LWASM supports using the asterisk ("*") to indicate
274 base page addressing. This should not be used in hand-written source code,
275 however, because it is non-standard and may or may not be present in future
276 versions of LWASM.
270 </para> 277 </para>
271 278
272 </section> 279 </section>
273 280
274 <section> 281 <section>
376 383
377 <section> 384 <section>
378 <title>Data Directives</title> 385 <title>Data Directives</title>
379 <variablelist> 386 <variablelist>
380 <varlistentry><term>FCB <parameter>expr[,...]</parameter></term> 387 <varlistentry><term>FCB <parameter>expr[,...]</parameter></term>
388 <term>.DB <parameter>expr[,...]</parameter></term>
389 <term>.BYTE <parameter>expr[,...]</parameter></term>
381 <listitem> 390 <listitem>
382 <para>Include one or more constant bytes (separated by commas) in the output.</para> 391 <para>Include one or more constant bytes (separated by commas) in the output.</para>
383 </listitem> 392 </listitem>
384 </varlistentry> 393 </varlistentry>
385 394
386 <varlistentry><term>FDB <parameter>expr[,...]</parameter></term> 395 <varlistentry>
396 <term>FDB <parameter>expr[,...]</parameter></term>
397 <term>.DW <parameter>expr[,...]</parameter></term>
398 <term>.WORD <parameter>expr[,...]</parameter></term>
387 <listitem> 399 <listitem>
388 <para>Include one or more words (separated by commas) in the output.</para> 400 <para>Include one or more words (separated by commas) in the output.</para>
389 </listitem> 401 </listitem>
390 </varlistentry> 402 </varlistentry>
391 403
392 <varlistentry><term>FQB <parameter>expr[,...]</parameter></term> 404 <varlistentry>
405 <term>FQB <parameter>expr[,...]</parameter></term>
406 <term>.QUAD <parameter>expr[,...]</parameter></term>
407 <term>.4BYTE <parameter>expr[,...]</parameter></term>
393 <listitem> 408 <listitem>
394 <para>Include one or more double words (separated by commas) in the output.</para> 409 <para>Include one or more double words (separated by commas) in the output.</para>
395 </listitem> 410 </listitem>
396 </varlistentry> 411 </varlistentry>
397 412
398 <varlistentry><term>FCC <parameter>string</parameter></term> 413 <varlistentry>
414 <term>FCC <parameter>string</parameter></term>
415 <term>.ASCII <parameter>string</parameter></term>
416 <term>.STR <parameter>string</parameter></term>
399 <listitem> 417 <listitem>
400 <para> 418 <para>
401 Include a string of text in the output. The first character of the operand 419 Include a string of text in the output. The first character of the operand
402 is the delimiter which must appear as the last character and cannot appear 420 is the delimiter which must appear as the last character and cannot appear
403 within the string. The string is included with no modifications> 421 within the string. The string is included with no modifications>
404 </para> 422 </para>
405 </listitem> 423 </listitem>
406 </varlistentry> 424 </varlistentry>
407 425
408 <varlistentry><term>FCN <parameter>string</parameter></term> 426 <varlistentry>
427 <term>FCN <parameter>string</parameter></term>
428 <term>.ASCIZ <parameter>string</parameter></term>
429 <term>.STRZ <parameter>string</parameter></term>
409 <listitem> 430 <listitem>
410 <para> 431 <para>
411 Include a NUL terminated string of text in the output. The first character of 432 Include a NUL terminated string of text in the output. The first character of
412 the operand is the delimiter which must appear as the last character and 433 the operand is the delimiter which must appear as the last character and
413 cannot appear within the string. A NUL byte is automatically appended to 434 cannot appear within the string. A NUL byte is automatically appended to
414 the string. 435 the string.
415 </para> 436 </para>
416 </listitem> 437 </listitem>
417 </varlistentry> 438 </varlistentry>
418 439
419 <varlistentry><term>FCS <parameter>string</parameter></term> 440 <varlistentry>
441 <term>FCS <parameter>string</parameter></term>
442 <term>.ASCIS <parameter>string</parameter></term>
443 <term>.STRS <parameter>string</parameter></term>
420 <listitem> 444 <listitem>
421 <para> 445 <para>
422 Include a string of text in the output with bit 7 of the final byte set. The 446 Include a string of text in the output with bit 7 of the final byte set. The
423 first character of the operand is the delimiter which must appear as the last 447 first character of the operand is the delimiter which must appear as the last
424 character and cannot appear within the string. 448 character and cannot appear within the string.
453 permitted. 477 permitted.
454 </para> 478 </para>
455 </listitem> 479 </listitem>
456 </varlistentry> 480 </varlistentry>
457 481
458 <varlistentry><term>RMB <parameter>expr</parameter></term> 482 <varlistentry>
483 <term>RMB <parameter>expr</parameter></term>
484 <term>.BLKB <parameter>expr</parameter></term>
485 <term>.DS <parameter>expr</parameter></term>
486 <term>.RS <parameter>expr</parameter></term>
459 <listitem> 487 <listitem>
460 <para> 488 <para>
461 Reserve a number of bytes in the output. The number must be fully resolvable 489 Reserve a number of bytes in the output. The number must be fully resolvable
462 during pass 1 of assembly so no forward or external references are permitted. 490 during pass 1 of assembly so no forward or external references are permitted.
463 The value of the bytes is undefined. 491 The value of the bytes is undefined.
708 <listitem> 736 <listitem>
709 <para> 737 <para>
710 Causes a custom error message to be printed at this line. This will cause 738 Causes a custom error message to be printed at this line. This will cause
711 assembly to fail. This directive is most useful inside conditional constructs 739 assembly to fail. This directive is most useful inside conditional constructs
712 to cause assembly to fail if some condition that is known bad happens. 740 to cause assembly to fail if some condition that is known bad happens.
741 </para>
742 </listitem>
743 </varlistentry>
744
745 <varlistentry>
746 <term>.MODULE <parameter>string</parameter></term>
747 <listitem>
748 <para>
749 This directive is ignored for most output targets. If the output target
750 supports encoding a module name into it, <parameter>string</parameter>
751 will be used as the module name.
752 </para>
753 <para>
754 As of version 2.2, no supported output targets support this directive.
713 </para> 755 </para>
714 </listitem> 756 </listitem>
715 </varlistentry> 757 </varlistentry>
716 758
717 </variablelist> 759 </variablelist>
883 925
884 <variablelist> 926 <variablelist>
885 <varlistentry> 927 <varlistentry>
886 <term>SECTION <parameter>name[,flags]</parameter></term> 928 <term>SECTION <parameter>name[,flags]</parameter></term>
887 <term>SECT <parameter>name[,flags]</parameter></term> 929 <term>SECT <parameter>name[,flags]</parameter></term>
930 <term>.AREA <parameter>name[,flags]</parameter></term>
888 <listitem> 931 <listitem>
889 <para> 932 <para>
890 Instructs the assembler that the code following this directive is to be 933 Instructs the assembler that the code following this directive is to be
891 considered part of the section <parameter>name</parameter>. A section name 934 considered part of the section <parameter>name</parameter>. A section name
892 may appear multiple times in which case it is as though all the code from 935 may appear multiple times in which case it is as though all the code from
939 </listitem> 982 </listitem>
940 </varlistentry> 983 </varlistentry>
941 984
942 <varlistentry> 985 <varlistentry>
943 <term><parameter>sym</parameter> EXPORT</term> 986 <term><parameter>sym</parameter> EXPORT</term>
987 <term><parameter>sym</parameter> .GLOBL</term>
988
989 <term>EXPORT <parameter>sym</parameter></term>
990 <term>.GLOBL <parameter>sym</parameter></term>
991
944 <listitem> 992 <listitem>
945 <para> 993 <para>
946 This directive defines <parameter>sym</parameter> as an exported symbol. 994 This directive defines <parameter>sym</parameter> as an exported symbol.
947 This directive may occur at any point in the source code, even before the 995 This directive may occur at any point in the source code, even before the
948 definition of the exported symbol. 996 definition of the exported symbol.
997 </para>
998 <para>
999 Note that <parameter>sym</parameter> may appear as the operand or as the
1000 statement's symbol. If there is a symbol on the statement, that will
1001 take precedence over any operand that is present.
949 </para> 1002 </para>
950 </listitem> 1003 </listitem>
951 </varlistentry> 1004 </varlistentry>
952 1005
953 </variablelist> 1006 </variablelist>