comparison docs/manual/x805.html @ 478:a71206ed966c lwtools-4.16

Update manual in preparation for release
author William Astle <lost@l-w.ca>
date Wed, 12 Dec 2018 20:00:59 -0700
parents cad5937314cb
children
comparison
equal deleted inserted replaced
477:221b8964662a 478:a71206ed966c
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
2 <HTML 2 <HTML
3 ><HEAD 3 ><HEAD
4 ><TITLE 4 ><TITLE
5 >Cycle Counts</TITLE 5 >Convenience Instructions</TITLE
6 ><META 6 ><META
7 NAME="GENERATOR" 7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK 8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
9 REL="HOME" 9 REL="HOME"
10 TITLE="LW Tool Chain" 10 TITLE="LW Tool Chain"
11 HREF="index.html"><LINK 11 HREF="index.html"><LINK
12 REL="UP" 12 REL="UP"
13 TITLE="LWASM" 13 TITLE="LWASM"
14 HREF="c62.html"><LINK 14 HREF="c62.html"><LINK
15 REL="PREVIOUS" 15 REL="PREVIOUS"
16 TITLE="Convenience Instructions" 16 TITLE="Assembler Modes and Pragmas"
17 HREF="x800.html"><LINK 17 HREF="x659.html"><LINK
18 REL="NEXT" 18 REL="NEXT"
19 TITLE="LWLINK" 19 TITLE="Cycle Counts"
20 HREF="c811.html"></HEAD 20 HREF="x810.html"></HEAD
21 ><BODY 21 ><BODY
22 CLASS="SECTION" 22 CLASS="SECTION"
23 BGCOLOR="#FFFFFF" 23 BGCOLOR="#FFFFFF"
24 TEXT="#000000" 24 TEXT="#000000"
25 LINK="#0000FF" 25 LINK="#0000FF"
43 ><TD 43 ><TD
44 WIDTH="10%" 44 WIDTH="10%"
45 ALIGN="left" 45 ALIGN="left"
46 VALIGN="bottom" 46 VALIGN="bottom"
47 ><A 47 ><A
48 HREF="x800.html" 48 HREF="x659.html"
49 ACCESSKEY="P" 49 ACCESSKEY="P"
50 >Prev</A 50 >Prev</A
51 ></TD 51 ></TD
52 ><TD 52 ><TD
53 WIDTH="80%" 53 WIDTH="80%"
57 ><TD 57 ><TD
58 WIDTH="10%" 58 WIDTH="10%"
59 ALIGN="right" 59 ALIGN="right"
60 VALIGN="bottom" 60 VALIGN="bottom"
61 ><A 61 ><A
62 HREF="c811.html" 62 HREF="x810.html"
63 ACCESSKEY="N" 63 ACCESSKEY="N"
64 >Next</A 64 >Next</A
65 ></TD 65 ></TD
66 ></TR 66 ></TR
67 ></TABLE 67 ></TABLE
71 ><DIV 71 ><DIV
72 CLASS="SECTION" 72 CLASS="SECTION"
73 ><H1 73 ><H1
74 CLASS="SECTION" 74 CLASS="SECTION"
75 ><A 75 ><A
76 NAME="AEN805" 76 NAME="CONVINST"
77 >3.12. Cycle Counts</A 77 >3.11. Convenience Instructions</A
78 ></H1 78 ></H1
79 ><P 79 ><P
80 >&#13;The following options for displaying cycle counts in listings are provided. 80 >&#13;Similar to the 6800 compatibility instructions (pragma 6800compat) these
81 These options are enabled from pragmas on the command line or in the 81 pragma 6809conv and pragma 6309conv enable convenience extensions to the
82 assembly files themselves. For compatibility with other assemblers you can 82 6809 and 6309 instruction set. Originally intended for compatibility with
83 use the "OPT" keyword in addition to "PRAGMA."</P 83 the MACRO-80c assembler, these have proven useful in large codebases that
84 ><PRE 84 target both the 6809 and the 6309.</P
85 CLASS="PROGRAMLISTING"
86 >opt c - enable cycle counts: [8]
87 opt cd - enable detailed cycle counts breaking down addressing modes: [5+3]
88 opt ct - show a running subtotal of cycles
89 opt cc - clear the running subtotal</PRE
90 ><P 85 ><P
91 >&#13;The assembler supports both 6809 as well as native-mode 6309 cycle counts. 86 >&#13;The 6809 extensions are straightforward with the exception of "TSTD" which
92 In 6309 mode the counts are displayed in parenthesis instead of brackets. 87 assembles as "STD -2,S". A benefit of using these is they will "just work"
93 In addition, some operations have a variable cycle count. In this case a 88 and take on their 6309 equivalent when you enable 6309 assembly mode.
94 "+?" is displayed to alert the reader. Sample output is shown below.</P 89 Supported instructions: ASRD, CLRD, COMD, LSLD, LSRD, NEGD, TSTD.</P
95 ><PRE 90 ><P
96 CLASS="PROGRAMLISTING" 91 >&#13;6309 extensions are based on common patterns described by Chris Burke and
97 >266f 7d25e2 (window.asm):00313 [7] 7 move tst putflg 92 Darren Atkinson in their 6309 documentation and include the following
98 2672 2602 (window.asm):00314 [5] 12 bne a@ 93 instructions: ASRQ, CLRQ, COMQ, LSLE, LSLF, LSLQ, LSRQ, NEGE,
99 2674 1e13 (window.asm):00315 [8] 20 exg x,u 94 NEGF, NEGW, NEGQ, TSTQ.</P
100 2676 0dd6 (window.asm):00316 [6] 26 a@ tst is6309
101 2678 2618 (window.asm):00317 [5] 31 bne exit@
102 (window.asm):00318 opt 6309
103 267a 10860085 (window.asm):00319 (4) 35 b@ ldw #133
104 267e 113813 (window.asm):00320 (6+?) 41 tfm x+,u+
105 2681 30881b (window.asm):00321 (4+1) 46 leax 27,x
106 2684 33c81b (window.asm):00322 (4+1) 51 leau 27,u
107 2687 4a (window.asm):00323 (1) 52 deca
108 2688 26f0 (window.asm):00324 (5) 57 bne b@</PRE
109 ></DIV 95 ></DIV
110 ><DIV 96 ><DIV
111 CLASS="NAVFOOTER" 97 CLASS="NAVFOOTER"
112 ><HR 98 ><HR
113 ALIGN="LEFT" 99 ALIGN="LEFT"
121 ><TD 107 ><TD
122 WIDTH="33%" 108 WIDTH="33%"
123 ALIGN="left" 109 ALIGN="left"
124 VALIGN="top" 110 VALIGN="top"
125 ><A 111 ><A
126 HREF="x800.html" 112 HREF="x659.html"
127 ACCESSKEY="P" 113 ACCESSKEY="P"
128 >Prev</A 114 >Prev</A
129 ></TD 115 ></TD
130 ><TD 116 ><TD
131 WIDTH="34%" 117 WIDTH="34%"
139 ><TD 125 ><TD
140 WIDTH="33%" 126 WIDTH="33%"
141 ALIGN="right" 127 ALIGN="right"
142 VALIGN="top" 128 VALIGN="top"
143 ><A 129 ><A
144 HREF="c811.html" 130 HREF="x810.html"
145 ACCESSKEY="N" 131 ACCESSKEY="N"
146 >Next</A 132 >Next</A
147 ></TD 133 ></TD
148 ></TR 134 ></TR
149 ><TR 135 ><TR
150 ><TD 136 ><TD
151 WIDTH="33%" 137 WIDTH="33%"
152 ALIGN="left" 138 ALIGN="left"
153 VALIGN="top" 139 VALIGN="top"
154 >Convenience Instructions</TD 140 >Assembler Modes and Pragmas</TD
155 ><TD 141 ><TD
156 WIDTH="34%" 142 WIDTH="34%"
157 ALIGN="center" 143 ALIGN="center"
158 VALIGN="top" 144 VALIGN="top"
159 ><A 145 ><A
163 ></TD 149 ></TD
164 ><TD 150 ><TD
165 WIDTH="33%" 151 WIDTH="33%"
166 ALIGN="right" 152 ALIGN="right"
167 VALIGN="top" 153 VALIGN="top"
168 >LWLINK</TD 154 >Cycle Counts</TD
169 ></TR 155 ></TR
170 ></TABLE 156 ></TABLE
171 ></DIV 157 ></DIV
172 ></BODY 158 ></BODY
173 ></HTML 159 ></HTML