Mercurial > hg > index.cgi
comparison 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 |
comparison
equal
deleted
inserted
replaced
454:ffdef8994f13 | 455:cad5937314cb |
---|---|
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="x795.html"><LINK | 17 HREF="x659.html"><LINK |
18 REL="NEXT" | 18 REL="NEXT" |
19 TITLE="LWLINK" | 19 TITLE="Cycle Counts" |
20 HREF="c806.html"></HEAD | 20 HREF="x805.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="x795.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="c806.html" | 62 HREF="x805.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="AEN800" | 76 NAME="CONVINST" |
77 >3.12. Cycle Counts</A | 77 >3.11. Convenience Instructions</A |
78 ></H1 | 78 ></H1 |
79 ><P | 79 ><P |
80 > The following options for displaying cycle counts in listings are provided. | 80 > 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 > The assembler supports both 6809 as well as native-mode 6309 cycle counts. | 86 > 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 > 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="x795.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="c806.html" | 130 HREF="x805.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 |