S12Z-Syntax-Overview.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU Assembler "as".
  4. Copyright (C) 1991-2020 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  12. <!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <title>Using as: S12Z Syntax Overview</title>
  15. <meta name="description" content="Using as: S12Z Syntax Overview">
  16. <meta name="keywords" content="Using as: S12Z Syntax Overview">
  17. <meta name="resource-type" content="document">
  18. <meta name="distribution" content="global">
  19. <meta name="Generator" content="makeinfo">
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="S12Z-Syntax.html#S12Z-Syntax" rel="up" title="S12Z Syntax">
  25. <link href="S12Z-Addressing-Modes.html#S12Z-Addressing-Modes" rel="next" title="S12Z Addressing Modes">
  26. <link href="S12Z-Syntax.html#S12Z-Syntax" rel="previous" title="S12Z Syntax">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.smallquotation {font-size: smaller}
  31. div.display {margin-left: 3.2em}
  32. div.example {margin-left: 3.2em}
  33. div.indentedblock {margin-left: 3.2em}
  34. div.lisp {margin-left: 3.2em}
  35. div.smalldisplay {margin-left: 3.2em}
  36. div.smallexample {margin-left: 3.2em}
  37. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style:oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nocodebreak {white-space:nowrap}
  49. span.nolinebreak {white-space:nowrap}
  50. span.roman {font-family:serif; font-weight:normal}
  51. span.sansserif {font-family:sans-serif; font-weight:normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  57. <a name="S12Z-Syntax-Overview"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="S12Z-Addressing-Modes.html#S12Z-Addressing-Modes" accesskey="n" rel="next">S12Z Addressing Modes</a>, Up: <a href="S12Z-Syntax.html#S12Z-Syntax" accesskey="u" rel="up">S12Z Syntax</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  61. </div>
  62. <hr>
  63. <a name="Overview-2"></a>
  64. <h4 class="subsubsection">9.24.2.1 Overview</h4>
  65. <p>In the S12Z syntax, the instruction name comes first and it may
  66. be followed by one, or by several operands.
  67. In most cases the maximum number of operands is three.
  68. Operands are separated by a comma (&lsquo;<samp>,</samp>&rsquo;).
  69. A comma however does not act as a separator if it appears within parentheses
  70. (&lsquo;<samp>()</samp>&rsquo;) or within square brackets (&lsquo;<samp>[]</samp>&rsquo;).
  71. <code>as</code> will complain if too many, too few or inappropriate operands
  72. are specified for a given instruction.
  73. </p>
  74. <p>Some instructions accept and (in certain situations require) a suffix
  75. indicating the size of the operand.
  76. The suffix is separated from the instruction name by a period (&lsquo;<samp>.</samp>&rsquo;)
  77. and may be one of &lsquo;<samp>b</samp>&rsquo;, &lsquo;<samp>w</samp>&rsquo;, &lsquo;<samp>p</samp>&rsquo; or &lsquo;<samp>l</samp>&rsquo; indicating
  78. &lsquo;byte&rsquo; (a single byte), &lsquo;word&rsquo; (2 bytes), &lsquo;pointer&rsquo; (3 bytes) or &lsquo;long&rsquo; (4 bytes)
  79. respectively.
  80. </p>
  81. <p>Example:
  82. </p>
  83. <div class="smallexample">
  84. <pre class="smallexample"> bset.b 0xA98, #5
  85. mov.b #6, 0x2409
  86. ld d0, #4
  87. mov.l (d0, x), 0x2409
  88. inc d0
  89. cmp d0, #12
  90. blt *-4
  91. lea x, 0x2409
  92. st y, (1, x)
  93. </pre></div>
  94. <a name="index-line-comment-character_002c-S12Z"></a>
  95. <p>The presence of a &lsquo;<samp>;</samp>&rsquo; character anywhere
  96. on a line indicates the start of a comment that extends to the end of
  97. that line.
  98. </p>
  99. <p>A &lsquo;<samp>*</samp>&rsquo; or a &lsquo;<samp>#</samp>&rsquo; character at the start of a line also
  100. introduces a line comment, but these characters do not work elsewhere
  101. on the line. If the first character of the line is a &lsquo;<samp>#</samp>&rsquo; then as
  102. well as starting a comment, the line could also be logical line number
  103. directive (see <a href="Comments.html#Comments">Comments</a>) or a preprocessor control command
  104. (see <a href="Preprocessing.html#Preprocessing">Preprocessing</a>).
  105. </p>
  106. <a name="index-line-separator_002c-S12Z"></a>
  107. <a name="index-statement-separator_002c-S12Z"></a>
  108. <a name="index-S12Z-line-separator"></a>
  109. <p>The S12Z assembler does not currently support a line separator
  110. character.
  111. </p>
  112. <hr>
  113. <div class="header">
  114. <p>
  115. Next: <a href="S12Z-Addressing-Modes.html#S12Z-Addressing-Modes" accesskey="n" rel="next">S12Z Addressing Modes</a>, Up: <a href="S12Z-Syntax.html#S12Z-Syntax" accesskey="u" rel="up">S12Z Syntax</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  116. </div>
  117. </body>
  118. </html>