Changes between Version 3 and Version 4 of ClrxAsmSyntax


Ignore:
Timestamp:
10/27/15 20:46:25 (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ClrxAsmSyntax

    v3 v4  
    6363<p>For character literals and string literals, escape can be used to put special characters
    6464likes newline, tab. List of the escapes:</p>
    65 <p>Escape   |  Description    | Value
    66 :-------:|-----------------|-------------
    67  <code>\a</code>    | Alarm           | 7
    68  <code>\b</code>    | Backspace       | 8
    69  <code>\t</code>    | Tab             | 9
    70  <code>\n</code>    | Newline         | 10
    71  <code>\v</code>    | Vertical tab    | 11
    72  <code>\f</code>    | Form feed       | 12
    73  <code>\r</code>    | Carriage return | 13
    74  <code>\\</code>    | Backslash       | 92
    75  <code>\"</code>    | Double-quote    | 34
    76  <code>\'</code>    | Qoute           | 39
    77  <code>\aaa</code>  | Octal code      | Various
    78  <code>\HHH..</code>|Hexadecimal code | Various</p>
     65<table>
     66<thead>
     67<tr>
     68<th align="center">Escape</th>
     69<th>Description</th>
     70<th>Value</th>
     71</tr>
     72</thead>
     73<tbody>
     74<tr>
     75<td align="center"><code>\a</code></td>
     76<td>Alarm</td>
     77<td>7</td>
     78</tr>
     79<tr>
     80<td align="center"><code>\b</code></td>
     81<td>Backspace</td>
     82<td>8</td>
     83</tr>
     84<tr>
     85<td align="center"><code>\t</code></td>
     86<td>Tab</td>
     87<td>9</td>
     88</tr>
     89<tr>
     90<td align="center"><code>\n</code></td>
     91<td>Newline</td>
     92<td>10</td>
     93</tr>
     94<tr>
     95<td align="center"><code>\v</code></td>
     96<td>Vertical tab</td>
     97<td>11</td>
     98</tr>
     99<tr>
     100<td align="center"><code>\f</code></td>
     101<td>Form feed</td>
     102<td>12</td>
     103</tr>
     104<tr>
     105<td align="center"><code>\r</code></td>
     106<td>Carriage return</td>
     107<td>13</td>
     108</tr>
     109<tr>
     110<td align="center"><code>\\</code></td>
     111<td>Backslash</td>
     112<td>92</td>
     113</tr>
     114<tr>
     115<td align="center"><code>\"</code></td>
     116<td>Double-quote</td>
     117<td>34</td>
     118</tr>
     119<tr>
     120<td align="center"><code>\'</code></td>
     121<td>Qoute</td>
     122<td>39</td>
     123</tr>
     124<tr>
     125<td align="center"><code>\aaa</code></td>
     126<td>Octal code</td>
     127<td>Various</td>
     128</tr>
     129<tr>
     130<td align="center"><code>\HHH..</code></td>
     131<td>Hexadecimal code</td>
     132<td>Various</td>
     133</tr>
     134</tbody>
     135</table>
    79136<h3>Expressions</h3>
    80137<p>The CLRX assembler get this same the operator ordering as in GNU as.
    81138CLRX assembler treat any literal or symbol's value as 64-bit integer value.
    82139List of the operators:</p>
    83 <p>Type  | Operator | Order | Description
    84 ------|:--------:|:-----:|--------------------
    85 Unary |    -     |   1   | Negate value
    86 Unary |    ~     |   1   | Binary NOT
    87 Unary |    !     |   1   | Logical NOT
    88 Unary |    +     |   1   | Plus (doing nothing)
    89 Binary|    *     |   2   | Multiplication
    90 Binary|    /     |   2   | Signed division
    91 Binary|    //    |   2   | Unsigned division
    92 Binary|    %     |   2   | Signed remainder
    93 Binary|    %%    |   2   | Unsigned remainder
    94 Binary|    &lt;&lt;    |   2   | Left shift
    95 Binary|    &gt;&gt;    |   2   | Unsigned right shift
    96 Binary|    &gt;&gt;&gt;   |   2   | Signed right shift
    97 Binary|    &amp;     |   3   | Binary AND
    98 Binary| vert-line|   3   | Binary OR
    99 Binary|    ^     |   3   | Binary XOR
    100 Binary|    !     |   3   | Binary ORNOT (performs A|~B)
    101 Binary|    +     |   3   | Addition
    102 Binary|    -     |   3   | Subtraction
    103 Binary|    ==    |   4   | Equal to
    104 Binary| !=,&lt;&gt;    |   4   | Not equal to
    105 Binary|   &lt;      |   4   | Less than (signed)
    106 Binary|   &lt;=     |   4   | Less or equal (signed)
    107 Binary|   &gt;      |   4   | Greater than (signed)
    108 Binary|   &gt;=     |   4   | Greater or equal (signed)
    109 Binary|   &lt;@     |   4   | Less than (unsigned)
    110 Binary|   &lt;=@    |   4   | Less or equal (unsigned)
    111 Binary|   &gt;@     |   4   | Greater than (unsigned)
    112 Binary|   &gt;=@    |   4   | Greater or equal (unsigned)
    113 Binary|   &amp;&amp;     |   5   | Logical AND
    114 Binary|dbl-vert-line|   5   | Logical OR
    115 Binary|   ?:     |   6   | Choice (this same as C++)</p>
     140<table>
     141<thead>
     142<tr>
     143<th>Type</th>
     144<th align="center">Operator</th>
     145<th align="center">Order</th>
     146<th>Description</th>
     147</tr>
     148</thead>
     149<tbody>
     150<tr>
     151<td>Unary</td>
     152<td align="center">-</td>
     153<td align="center">1</td>
     154<td>Negate value</td>
     155</tr>
     156<tr>
     157<td>Unary</td>
     158<td align="center">~</td>
     159<td align="center">1</td>
     160<td>Binary NOT</td>
     161</tr>
     162<tr>
     163<td>Unary</td>
     164<td align="center">!</td>
     165<td align="center">1</td>
     166<td>Logical NOT</td>
     167</tr>
     168<tr>
     169<td>Unary</td>
     170<td align="center">+</td>
     171<td align="center">1</td>
     172<td>Plus (doing nothing)</td>
     173</tr>
     174<tr>
     175<td>Binary</td>
     176<td align="center">*</td>
     177<td align="center">2</td>
     178<td>Multiplication</td>
     179</tr>
     180<tr>
     181<td>Binary</td>
     182<td align="center">/</td>
     183<td align="center">2</td>
     184<td>Signed division</td>
     185</tr>
     186<tr>
     187<td>Binary</td>
     188<td align="center">//</td>
     189<td align="center">2</td>
     190<td>Unsigned division</td>
     191</tr>
     192<tr>
     193<td>Binary</td>
     194<td align="center">%</td>
     195<td align="center">2</td>
     196<td>Signed remainder</td>
     197</tr>
     198<tr>
     199<td>Binary</td>
     200<td align="center">%%</td>
     201<td align="center">2</td>
     202<td>Unsigned remainder</td>
     203</tr>
     204<tr>
     205<td>Binary</td>
     206<td align="center">&lt;&lt;</td>
     207<td align="center">2</td>
     208<td>Left shift</td>
     209</tr>
     210<tr>
     211<td>Binary</td>
     212<td align="center">&gt;&gt;</td>
     213<td align="center">2</td>
     214<td>Unsigned right shift</td>
     215</tr>
     216<tr>
     217<td>Binary</td>
     218<td align="center">&gt;&gt;&gt;</td>
     219<td align="center">2</td>
     220<td>Signed right shift</td>
     221</tr>
     222<tr>
     223<td>Binary</td>
     224<td align="center">&amp;</td>
     225<td align="center">3</td>
     226<td>Binary AND</td>
     227</tr>
     228<tr>
     229<td>Binary</td>
     230<td align="center">vert-line</td>
     231<td align="center">3</td>
     232<td>Binary OR</td>
     233</tr>
     234<tr>
     235<td>Binary</td>
     236<td align="center">^</td>
     237<td align="center">3</td>
     238<td>Binary XOR</td>
     239</tr>
     240<tr>
     241<td>Binary</td>
     242<td align="center">!</td>
     243<td align="center">3</td>
     244<td>Binary ORNOT (performs A</td>
     245</tr>
     246<tr>
     247<td>Binary</td>
     248<td align="center">+</td>
     249<td align="center">3</td>
     250<td>Addition</td>
     251</tr>
     252<tr>
     253<td>Binary</td>
     254<td align="center">-</td>
     255<td align="center">3</td>
     256<td>Subtraction</td>
     257</tr>
     258<tr>
     259<td>Binary</td>
     260<td align="center">==</td>
     261<td align="center">4</td>
     262<td>Equal to</td>
     263</tr>
     264<tr>
     265<td>Binary</td>
     266<td align="center">!=,&lt;&gt;</td>
     267<td align="center">4</td>
     268<td>Not equal to</td>
     269</tr>
     270<tr>
     271<td>Binary</td>
     272<td align="center">&lt;</td>
     273<td align="center">4</td>
     274<td>Less than (signed)</td>
     275</tr>
     276<tr>
     277<td>Binary</td>
     278<td align="center">&lt;=</td>
     279<td align="center">4</td>
     280<td>Less or equal (signed)</td>
     281</tr>
     282<tr>
     283<td>Binary</td>
     284<td align="center">&gt;</td>
     285<td align="center">4</td>
     286<td>Greater than (signed)</td>
     287</tr>
     288<tr>
     289<td>Binary</td>
     290<td align="center">&gt;=</td>
     291<td align="center">4</td>
     292<td>Greater or equal (signed)</td>
     293</tr>
     294<tr>
     295<td>Binary</td>
     296<td align="center">&lt;@</td>
     297<td align="center">4</td>
     298<td>Less than (unsigned)</td>
     299</tr>
     300<tr>
     301<td>Binary</td>
     302<td align="center">&lt;=@</td>
     303<td align="center">4</td>
     304<td>Less or equal (unsigned)</td>
     305</tr>
     306<tr>
     307<td>Binary</td>
     308<td align="center">&gt;@</td>
     309<td align="center">4</td>
     310<td>Greater than (unsigned)</td>
     311</tr>
     312<tr>
     313<td>Binary</td>
     314<td align="center">&gt;=@</td>
     315<td align="center">4</td>
     316<td>Greater or equal (unsigned)</td>
     317</tr>
     318<tr>
     319<td>Binary</td>
     320<td align="center">&amp;&amp;</td>
     321<td align="center">5</td>
     322<td>Logical AND</td>
     323</tr>
     324<tr>
     325<td>Binary</td>
     326<td align="center">dbl-vert-line</td>
     327<td align="center">5</td>
     328<td>Logical OR</td>
     329</tr>
     330<tr>
     331<td>Binary</td>
     332<td align="center">?:</td>
     333<td align="center">6</td>
     334<td>Choice (this same as C++)</td>
     335</tr>
     336</tbody>
     337</table>
    116338<p>'vert-line' is <code>|</code>, and 'dbl-vert-line' is <code>||</code>.</p>
    117339<p>The <code>?:</code> operator have this same meanigful as in C/C++ and performed from