annotate docs/manual/x795.html @ 396:d0c0fede5021

Update to gcc6809lw patch which may help compilation of some sources Due to persistent random compiler crashes and errors related to "M_REGS", this patch update (4.6.4-2) essentially removes the varius constraints allowing the "soft registers" in most operations. It was causing more problems than it solved and it is not clear that the logic behind those soft registers even makes sense any more. This patch also fixes a bogus comparison related to selecting the right size for a constant. Instead of the excessively clever comparison scheme that was previously in use, the comparisons have been replaced with straight forward comparisions for the top and bottom of the relevant 2's complement ranges.
author William Astle <lost@l-w.ca>
date Mon, 20 Jul 2015 22:32:41 -0600
parents fc166b3bbae3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
394
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
2 <HTML
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
3 ><HEAD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
4 ><TITLE
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
5 >Convenience Instructions</TITLE
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
6 ><META
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
7 NAME="GENERATOR"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
9 REL="HOME"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
10 TITLE="LW Tool Chain"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
11 HREF="index.html"><LINK
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
12 REL="UP"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
13 TITLE="LWASM"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
14 HREF="c62.html"><LINK
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
15 REL="PREVIOUS"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
16 TITLE="Assembler Modes and Pragmas"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
17 HREF="x659.html"><LINK
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
18 REL="NEXT"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
19 TITLE="Cycle Counts"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
20 HREF="x800.html"></HEAD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
21 ><BODY
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
22 CLASS="SECTION"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
23 BGCOLOR="#FFFFFF"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
24 TEXT="#000000"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
25 LINK="#0000FF"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
26 VLINK="#840084"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
27 ALINK="#0000FF"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
28 ><DIV
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
29 CLASS="NAVHEADER"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
30 ><TABLE
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
31 SUMMARY="Header navigation table"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
32 WIDTH="100%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
33 BORDER="0"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
34 CELLPADDING="0"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
35 CELLSPACING="0"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
36 ><TR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
37 ><TH
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
38 COLSPAN="3"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
39 ALIGN="center"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
40 >LW Tool Chain</TH
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
41 ></TR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
42 ><TR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
43 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
44 WIDTH="10%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
45 ALIGN="left"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
46 VALIGN="bottom"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
47 ><A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
48 HREF="x659.html"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
49 ACCESSKEY="P"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
50 >Prev</A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
51 ></TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
52 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
53 WIDTH="80%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
54 ALIGN="center"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
55 VALIGN="bottom"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
56 >Chapter 3. LWASM</TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
57 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
58 WIDTH="10%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
59 ALIGN="right"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
60 VALIGN="bottom"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
61 ><A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
62 HREF="x800.html"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
63 ACCESSKEY="N"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
64 >Next</A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
65 ></TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
66 ></TR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
67 ></TABLE
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
68 ><HR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
69 ALIGN="LEFT"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
70 WIDTH="100%"></DIV
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
71 ><DIV
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
72 CLASS="SECTION"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
73 ><H1
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
74 CLASS="SECTION"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
75 ><A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
76 NAME="CONVINST"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
77 >3.11. Convenience Instructions</A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
78 ></H1
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
79 ><P
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
80 >&#13;Similar to the 6800 compatibility instructions (pragma 6800compat) these
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
81 pragma 6809conv and pragma 6309conv enable convenience extensions to the
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
82 6809 and 6309 instruction set. Originally intended for compatibility with
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
83 the MACRO-80c assembler, these have proven useful in large codebases that
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
84 target both the 6809 and the 6309.</P
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
85 ><P
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
86 >&#13;The 6809 extensions are straightforward with the exception of "TSTD" which
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
87 assembles as "STD -2,S". A benefit of using these is they will "just work"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
88 and take on their 6309 equivalent when you enable 6309 assembly mode.
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
89 Supported instructions: ASRD, CLRD, COMD, LSLD, LSRD, NEGD, TSTD.</P
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
90 ><P
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
91 >&#13;6309 extensions are based on common patterns described by Chris Burke and
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
92 Darren Atkinson in their 6309 documentation and include the following
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
93 instructions: ASRQ, CLRQ, COMQ, LSLE, LSLF, LSLQ, LSRQ, NEGE,
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
94 NEGF, NEGW, NEGQ, TSTQ.</P
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
95 ></DIV
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
96 ><DIV
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
97 CLASS="NAVFOOTER"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
98 ><HR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
99 ALIGN="LEFT"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
100 WIDTH="100%"><TABLE
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
101 SUMMARY="Footer navigation table"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
102 WIDTH="100%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
103 BORDER="0"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
104 CELLPADDING="0"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
105 CELLSPACING="0"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
106 ><TR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
107 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
108 WIDTH="33%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
109 ALIGN="left"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
110 VALIGN="top"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
111 ><A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
112 HREF="x659.html"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
113 ACCESSKEY="P"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
114 >Prev</A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
115 ></TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
116 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
117 WIDTH="34%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
118 ALIGN="center"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
119 VALIGN="top"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
120 ><A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
121 HREF="index.html"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
122 ACCESSKEY="H"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
123 >Home</A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
124 ></TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
125 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
126 WIDTH="33%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
127 ALIGN="right"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
128 VALIGN="top"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
129 ><A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
130 HREF="x800.html"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
131 ACCESSKEY="N"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
132 >Next</A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
133 ></TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
134 ></TR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
135 ><TR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
136 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
137 WIDTH="33%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
138 ALIGN="left"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
139 VALIGN="top"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
140 >Assembler Modes and Pragmas</TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
141 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
142 WIDTH="34%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
143 ALIGN="center"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
144 VALIGN="top"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
145 ><A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
146 HREF="c62.html"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
147 ACCESSKEY="U"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
148 >Up</A
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
149 ></TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
150 ><TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
151 WIDTH="33%"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
152 ALIGN="right"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
153 VALIGN="top"
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
154 >Cycle Counts</TD
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
155 ></TR
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
156 ></TABLE
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
157 ></DIV
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
158 ></BODY
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
159 ></HTML
fc166b3bbae3 Update manual for recent additions.
William Astle <lost@l-w.ca>
parents:
diff changeset
160 >