Mercurial > hg > index.cgi
annotate docs/manual/c21.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 | b30091890d62 |
children |
rev | line source |
---|---|
324
b30091890d62
Add documentation of the new hex output formats.
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"> |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
2 <HTML |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
3 ><HEAD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
4 ><TITLE |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
5 >Output Formats</TITLE |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
6 ><META |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
7 NAME="GENERATOR" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
9 REL="HOME" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
10 TITLE="LW Tool Chain" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
11 HREF="index.html"><LINK |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
12 REL="PREVIOUS" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
13 TITLE="Introduction" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
14 HREF="c13.html"><LINK |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
15 REL="NEXT" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
16 TITLE="DECB Binaries" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
17 HREF="x27.html"></HEAD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
18 ><BODY |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
19 CLASS="CHAPTER" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
20 BGCOLOR="#FFFFFF" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
21 TEXT="#000000" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
22 LINK="#0000FF" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
23 VLINK="#840084" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
24 ALINK="#0000FF" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
25 ><DIV |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
26 CLASS="NAVHEADER" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
27 ><TABLE |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
28 SUMMARY="Header navigation table" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
29 WIDTH="100%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
30 BORDER="0" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
31 CELLPADDING="0" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
32 CELLSPACING="0" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
33 ><TR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
34 ><TH |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
35 COLSPAN="3" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
36 ALIGN="center" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
37 >LW Tool Chain</TH |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
38 ></TR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
39 ><TR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
40 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
41 WIDTH="10%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
42 ALIGN="left" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
43 VALIGN="bottom" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
44 ><A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
45 HREF="c13.html" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
46 ACCESSKEY="P" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
47 >Prev</A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
48 ></TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
49 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
50 WIDTH="80%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
51 ALIGN="center" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
52 VALIGN="bottom" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
53 ></TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
54 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
55 WIDTH="10%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
56 ALIGN="right" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
57 VALIGN="bottom" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
58 ><A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
59 HREF="x27.html" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
60 ACCESSKEY="N" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
61 >Next</A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
62 ></TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
63 ></TR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
64 ></TABLE |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
65 ><HR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
66 ALIGN="LEFT" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
67 WIDTH="100%"></DIV |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
68 ><DIV |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
69 CLASS="CHAPTER" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
70 ><H1 |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
71 ><A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
72 NAME="AEN21" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
73 ></A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
74 >Chapter 2. Output Formats</H1 |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
75 ><P |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
76 >The LW tool chain supports multiple output formats. Each format has its |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
77 advantages and disadvantages. Each format is described below.</P |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
78 ><DIV |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
79 CLASS="SECTION" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
80 ><H1 |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
81 CLASS="SECTION" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
82 ><A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
83 NAME="AEN24" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
84 >2.1. Raw Binaries</A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
85 ></H1 |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
86 ><P |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
87 >A raw binary is simply a string of bytes. There are no headers or other |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
88 niceties. Both LWLINK and LWASM support generating raw binaries. ORG directives |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
89 in the source code only serve to set the addresses that will be used for |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
90 symbols but otherwise have no direct impact on the resulting binary.</P |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
91 ></DIV |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
92 ></DIV |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
93 ><DIV |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
94 CLASS="NAVFOOTER" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
95 ><HR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
96 ALIGN="LEFT" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
97 WIDTH="100%"><TABLE |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
98 SUMMARY="Footer navigation table" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
99 WIDTH="100%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
100 BORDER="0" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
101 CELLPADDING="0" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
102 CELLSPACING="0" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
103 ><TR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
104 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
105 WIDTH="33%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
106 ALIGN="left" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
107 VALIGN="top" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
108 ><A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
109 HREF="c13.html" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
110 ACCESSKEY="P" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
111 >Prev</A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
112 ></TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
113 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
114 WIDTH="34%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
115 ALIGN="center" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
116 VALIGN="top" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
117 ><A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
118 HREF="index.html" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
119 ACCESSKEY="H" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
120 >Home</A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
121 ></TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
122 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
123 WIDTH="33%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
124 ALIGN="right" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
125 VALIGN="top" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
126 ><A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
127 HREF="x27.html" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
128 ACCESSKEY="N" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
129 >Next</A |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
130 ></TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
131 ></TR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
132 ><TR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
133 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
134 WIDTH="33%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
135 ALIGN="left" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
136 VALIGN="top" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
137 >Introduction</TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
138 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
139 WIDTH="34%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
140 ALIGN="center" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
141 VALIGN="top" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
142 > </TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
143 ><TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
144 WIDTH="33%" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
145 ALIGN="right" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
146 VALIGN="top" |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
147 >DECB Binaries</TD |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
148 ></TR |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
149 ></TABLE |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
150 ></DIV |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
151 ></BODY |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
152 ></HTML |
b30091890d62
Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff
changeset
|
153 > |