Mercurial > hg > index.cgi
diff docs/manual/x800.html @ 455:cad5937314cb
Add operandsizewarning pragma
Add operandsizewarning pragma that will raise warnings for certain operands
if the operand size could be smaller. (Long branch used instead of short
branch, for instance.)
author | William Astle <lost@l-w.ca> |
---|---|
date | Fri, 16 Feb 2018 22:53:46 -0700 |
parents | fc166b3bbae3 |
children |
line wrap: on
line diff
--- a/docs/manual/x800.html Fri Feb 16 22:52:44 2018 -0700 +++ b/docs/manual/x800.html Fri Feb 16 22:53:46 2018 -0700 @@ -2,7 +2,7 @@ <HTML ><HEAD ><TITLE ->Cycle Counts</TITLE +>Convenience Instructions</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK @@ -13,11 +13,11 @@ TITLE="LWASM" HREF="c62.html"><LINK REL="PREVIOUS" -TITLE="Convenience Instructions" -HREF="x795.html"><LINK +TITLE="Assembler Modes and Pragmas" +HREF="x659.html"><LINK REL="NEXT" -TITLE="LWLINK" -HREF="c806.html"></HEAD +TITLE="Cycle Counts" +HREF="x805.html"></HEAD ><BODY CLASS="SECTION" BGCOLOR="#FFFFFF" @@ -45,7 +45,7 @@ ALIGN="left" VALIGN="bottom" ><A -HREF="x795.html" +HREF="x659.html" ACCESSKEY="P" >Prev</A ></TD @@ -59,7 +59,7 @@ ALIGN="right" VALIGN="bottom" ><A -HREF="c806.html" +HREF="x805.html" ACCESSKEY="N" >Next</A ></TD @@ -73,39 +73,25 @@ ><H1 CLASS="SECTION" ><A -NAME="AEN800" ->3.12. Cycle Counts</A +NAME="CONVINST" +>3.11. Convenience Instructions</A ></H1 ><P -> The following options for displaying cycle counts in listings are provided. -These options are enabled from pragmas on the command line or in the -assembly files themselves. For compatibility with other assemblers you can -use the "OPT" keyword in addition to "PRAGMA."</P -><PRE -CLASS="PROGRAMLISTING" ->opt c - enable cycle counts: [8] -opt cd - enable detailed cycle counts breaking down addressing modes: [5+3] -opt ct - show a running subtotal of cycles -opt cc - clear the running subtotal</PRE +> Similar to the 6800 compatibility instructions (pragma 6800compat) these +pragma 6809conv and pragma 6309conv enable convenience extensions to the +6809 and 6309 instruction set. Originally intended for compatibility with +the MACRO-80c assembler, these have proven useful in large codebases that +target both the 6809 and the 6309.</P ><P -> The assembler supports both 6809 as well as native-mode 6309 cycle counts. -In 6309 mode the counts are displayed in parenthesis instead of brackets. -In addition, some operations have a variable cycle count. In this case a -"+?" is displayed to alert the reader. Sample output is shown below.</P -><PRE -CLASS="PROGRAMLISTING" ->266f 7d25e2 (window.asm):00313 [7] 7 move tst putflg -2672 2602 (window.asm):00314 [5] 12 bne a@ -2674 1e13 (window.asm):00315 [8] 20 exg x,u -2676 0dd6 (window.asm):00316 [6] 26 a@ tst is6309 -2678 2618 (window.asm):00317 [5] 31 bne exit@ - (window.asm):00318 opt 6309 -267a 10860085 (window.asm):00319 (4) 35 b@ ldw #133 -267e 113813 (window.asm):00320 (6+?) 41 tfm x+,u+ -2681 30881b (window.asm):00321 (4+1) 46 leax 27,x -2684 33c81b (window.asm):00322 (4+1) 51 leau 27,u -2687 4a (window.asm):00323 (1) 52 deca -2688 26f0 (window.asm):00324 (5) 57 bne b@</PRE +> The 6809 extensions are straightforward with the exception of "TSTD" which +assembles as "STD -2,S". A benefit of using these is they will "just work" +and take on their 6309 equivalent when you enable 6309 assembly mode. +Supported instructions: ASRD, CLRD, COMD, LSLD, LSRD, NEGD, TSTD.</P +><P +> 6309 extensions are based on common patterns described by Chris Burke and +Darren Atkinson in their 6309 documentation and include the following +instructions: ASRQ, CLRQ, COMQ, LSLE, LSLF, LSLQ, LSRQ, NEGE, + NEGF, NEGW, NEGQ, TSTQ.</P ></DIV ><DIV CLASS="NAVFOOTER" @@ -123,7 +109,7 @@ ALIGN="left" VALIGN="top" ><A -HREF="x795.html" +HREF="x659.html" ACCESSKEY="P" >Prev</A ></TD @@ -141,7 +127,7 @@ ALIGN="right" VALIGN="top" ><A -HREF="c806.html" +HREF="x805.html" ACCESSKEY="N" >Next</A ></TD @@ -151,7 +137,7 @@ WIDTH="33%" ALIGN="left" VALIGN="top" ->Convenience Instructions</TD +>Assembler Modes and Pragmas</TD ><TD WIDTH="34%" ALIGN="center" @@ -165,7 +151,7 @@ WIDTH="33%" ALIGN="right" VALIGN="top" ->LWLINK</TD +>Cycle Counts</TD ></TR ></TABLE ></DIV