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