1 |
241 |
jshamlet |
<html xmlns:v="urn:schemas-microsoft-com:vml"
|
2 |
|
|
xmlns:o="urn:schemas-microsoft-com:office:office"
|
3 |
|
|
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
4 |
|
|
xmlns="http://www.w3.org/TR/REC-html40">
|
5 |
|
|
|
6 |
|
|
<head>
|
7 |
|
|
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
8 |
|
|
<meta name=ProgId content=Excel.Sheet>
|
9 |
|
|
<meta name=Generator content="Microsoft Excel 12">
|
10 |
|
|
<link id=Main-File rel=Main-File href="../CPU%20Instruction%20Set.htm">
|
11 |
|
|
<link rel=File-List href=filelist.xml>
|
12 |
|
|
<link rel=Stylesheet href=stylesheet.css>
|
13 |
|
|
<style>
|
14 |
|
|
<!--table
|
15 |
|
|
{mso-displayed-decimal-separator:"\.";
|
16 |
|
|
mso-displayed-thousand-separator:"\,";}
|
17 |
|
|
@page
|
18 |
|
|
{margin:.75in .7in .75in .7in;
|
19 |
|
|
mso-header-margin:.3in;
|
20 |
|
|
mso-footer-margin:.3in;}
|
21 |
|
|
-->
|
22 |
|
|
</style>
|
23 |
|
|
<![if !supportTabStrip]><script language="JavaScript">
|
24 |
|
|
<!--
|
25 |
|
|
function fnUpdateTabs()
|
26 |
|
|
{
|
27 |
|
|
if (parent.window.g_iIEVer>=4) {
|
28 |
|
|
if (parent.document.readyState=="complete"
|
29 |
|
|
&& parent.frames['frTabs'].document.readyState=="complete")
|
30 |
|
|
parent.fnSetActiveSheet(0);
|
31 |
|
|
else
|
32 |
|
|
window.setTimeout("fnUpdateTabs();",150);
|
33 |
|
|
}
|
34 |
|
|
}
|
35 |
|
|
|
36 |
|
|
if (window.name!="frSheet")
|
37 |
|
|
window.location.replace("../CPU%20Instruction%20Set.htm");
|
38 |
|
|
else
|
39 |
|
|
fnUpdateTabs();
|
40 |
|
|
//-->
|
41 |
|
|
</script>
|
42 |
|
|
<![endif]>
|
43 |
|
|
</head>
|
44 |
|
|
|
45 |
|
|
<body link=blue vlink=purple>
|
46 |
|
|
|
47 |
|
|
<table border=0 cellpadding=0 cellspacing=0 width=1180 style='border-collapse:
|
48 |
|
|
collapse;table-layout:fixed;width:887pt'>
|
49 |
|
|
<col width=86 style='mso-width-source:userset;mso-width-alt:3145;width:65pt'>
|
50 |
|
|
<col class=xl67 width=74 style='mso-width-source:userset;mso-width-alt:2706;
|
51 |
|
|
width:56pt'>
|
52 |
|
|
<col class=xl67 width=61 style='mso-width-source:userset;mso-width-alt:2230;
|
53 |
|
|
width:46pt'>
|
54 |
|
|
<col class=xl66 width=64 style='width:48pt'>
|
55 |
|
|
<col class=xl68 width=670 style='mso-width-source:userset;mso-width-alt:24502;
|
56 |
|
|
width:503pt'>
|
57 |
|
|
<col width=64 style='width:48pt'>
|
58 |
|
|
<col width=97 style='mso-width-source:userset;mso-width-alt:3547;width:73pt'>
|
59 |
|
|
<col class=xl65 width=64 style='width:48pt'>
|
60 |
|
|
<tr height=20 style='height:15.0pt'>
|
61 |
|
|
<td height=20 width=86 style='height:15.0pt;width:65pt'></td>
|
62 |
|
|
<td class=xl67 width=74 style='width:56pt'></td>
|
63 |
|
|
<td class=xl67 width=61 style='width:46pt'></td>
|
64 |
|
|
<td class=xl107 colspan=2 width=734 style='mso-ignore:colspan;width:551pt'>Open8
|
65 |
|
|
Instruction Set</td>
|
66 |
|
|
<td width=64 style='width:48pt'></td>
|
67 |
|
|
<td width=97 style='width:73pt'></td>
|
68 |
|
|
<td class=xl65 width=64 style='width:48pt'></td>
|
69 |
|
|
</tr>
|
70 |
|
|
<tr height=20 style='height:15.0pt'>
|
71 |
|
|
<td height=20 style='height:15.0pt'></td>
|
72 |
|
|
<td colspan=2 class=xl67 style='mso-ignore:colspan'></td>
|
73 |
|
|
<td class=xl66></td>
|
74 |
|
|
<td class=xl68></td>
|
75 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
76 |
|
|
<td class=xl65></td>
|
77 |
|
|
</tr>
|
78 |
|
|
<tr height=20 style='height:15.0pt'>
|
79 |
|
|
<td height=20 class=xl69 style='height:15.0pt'>Instruction</td>
|
80 |
|
|
<td class=xl70>Opcode</td>
|
81 |
|
|
<td class=xl70>Operand</td>
|
82 |
|
|
<td class=xl71>Flags</td>
|
83 |
|
|
<td class=xl72 width=670 style='width:503pt'>Description</td>
|
84 |
|
|
<td></td>
|
85 |
|
|
<td class=xl105>Legend</td>
|
86 |
|
|
<td class=xl65></td>
|
87 |
|
|
</tr>
|
88 |
|
|
<tr height=20 style='height:15.0pt'>
|
89 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>INC R0-07</td>
|
90 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00000</td>
|
91 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
92 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
93 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Increment
|
94 |
|
|
Register (Rn + 1 -> Rn)</td>
|
95 |
|
|
<td></td>
|
96 |
|
|
<td class=xl76>ALU/MATH</td>
|
97 |
|
|
<td class=xl65></td>
|
98 |
|
|
</tr>
|
99 |
|
|
<tr height=20 style='height:15.0pt'>
|
100 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>ADC R0-07</td>
|
101 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00001</td>
|
102 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
103 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
104 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Add
|
105 |
|
|
with Carry (Rn + R0 + C -> R0)</td>
|
106 |
|
|
<td></td>
|
107 |
|
|
<td class=xl79 style='border-top:none'>LOAD/STORE</td>
|
108 |
|
|
<td class=xl65></td>
|
109 |
|
|
</tr>
|
110 |
|
|
<tr height=20 style='height:15.0pt'>
|
111 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>TX0 R0-R7</td>
|
112 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00010</td>
|
113 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
114 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,Z</td>
|
115 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Transfer
|
116 |
|
|
Rn to R0 (Rn -> R0)</td>
|
117 |
|
|
<td></td>
|
118 |
|
|
<td class=xl82 style='border-top:none'>BRANCH</td>
|
119 |
|
|
<td class=xl65></td>
|
120 |
|
|
</tr>
|
121 |
|
|
<tr height=20 style='height:15.0pt'>
|
122 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>OR<span
|
123 |
|
|
style='mso-spacerun:yes'> </span>R0-R7</td>
|
124 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00011</td>
|
125 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
126 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,Z</td>
|
127 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Logical
|
128 |
|
|
OR of Rn and R0 (Rn | R0 -> R0)</td>
|
129 |
|
|
<td></td>
|
130 |
|
|
<td class=xl94 style='border-top:none'>STACK/FLOW</td>
|
131 |
|
|
<td class=xl65></td>
|
132 |
|
|
</tr>
|
133 |
|
|
<tr height=20 style='height:15.0pt'>
|
134 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>AND R0-R7</td>
|
135 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00100</td>
|
136 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
137 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,Z</td>
|
138 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Logical
|
139 |
|
|
AND of Rn and R0 (Rn & R0 -> R0)</td>
|
140 |
|
|
<td></td>
|
141 |
|
|
<td class=xl104 style='border-top:none'>SOFT INTS</td>
|
142 |
|
|
<td class=xl65></td>
|
143 |
|
|
</tr>
|
144 |
|
|
<tr height=20 style='height:15.0pt'>
|
145 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>CLR R0</td>
|
146 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00101</td>
|
147 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>000</td>
|
148 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,Z</td>
|
149 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Special
|
150 |
|
|
case of XOR (R0^R0 -> R0)</td>
|
151 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
152 |
|
|
<td class=xl65></td>
|
153 |
|
|
</tr>
|
154 |
|
|
<tr height=20 style='height:15.0pt'>
|
155 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>XOR R0-R7</td>
|
156 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00101</td>
|
157 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
158 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,Z</td>
|
159 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Logical
|
160 |
|
|
XOR or Rn and R0 (Rn ^ R0 -> R0)</td>
|
161 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
162 |
|
|
<td class=xl65></td>
|
163 |
|
|
</tr>
|
164 |
|
|
<tr height=20 style='height:15.0pt'>
|
165 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>ROL R0-R7</td>
|
166 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00110</td>
|
167 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
168 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
169 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Rotate
|
170 |
|
|
Rn Left (Rn<<1 -> Rn) (Note the carry is included in the
|
171 |
|
|
rotation:<span style='mso-spacerun:yes'> </span>Rn(6:0) & C -> Rn ;
|
172 |
|
|
Rn(7) -> C</td>
|
173 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
174 |
|
|
<td class=xl65></td>
|
175 |
|
|
</tr>
|
176 |
|
|
<tr height=20 style='height:15.0pt'>
|
177 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>ROR R0-R7</td>
|
178 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>00111</td>
|
179 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
180 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
181 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Rotate
|
182 |
|
|
Rn Right (Rn>>1 -> Rn) (Note the carry is included in the
|
183 |
|
|
rotation:<span style='mso-spacerun:yes'> </span>C & Rn(7:1) -> Rn ;
|
184 |
|
|
Rn(0) -> C</td>
|
185 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
186 |
|
|
<td class=xl65></td>
|
187 |
|
|
</tr>
|
188 |
|
|
<tr height=20 style='height:15.0pt'>
|
189 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>DEC R0-R7</td>
|
190 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>01000</td>
|
191 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
192 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
193 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Decrement
|
194 |
|
|
Rn (Rn - 1 -> Rn)</td>
|
195 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
196 |
|
|
<td class=xl65></td>
|
197 |
|
|
</tr>
|
198 |
|
|
<tr height=20 style='height:15.0pt'>
|
199 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>SBC R0-R7</td>
|
200 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>01001</td>
|
201 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
202 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
203 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Subtract
|
204 |
|
|
Rn from R0 with carry (R0 - Rn - C -> R0)</td>
|
205 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
206 |
|
|
<td class=xl65></td>
|
207 |
|
|
</tr>
|
208 |
|
|
<tr height=20 style='height:15.0pt'>
|
209 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>ADD R0-R7</td>
|
210 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>01010</td>
|
211 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
212 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
213 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Add
|
214 |
|
|
Rn and R0 (R0 + Rn -> R0)</td>
|
215 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
216 |
|
|
<td class=xl65></td>
|
217 |
|
|
</tr>
|
218 |
|
|
<tr height=20 style='height:15.0pt'>
|
219 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>STP PSR_Z</td>
|
220 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01011</td>
|
221 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>000</td>
|
222 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>Z</td>
|
223 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Set
|
224 |
|
|
the ZERO flag in the status register</td>
|
225 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
226 |
|
|
<td class=xl65></td>
|
227 |
|
|
</tr>
|
228 |
|
|
<tr height=20 style='height:15.0pt'>
|
229 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>STP PSR_C</td>
|
230 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01011</td>
|
231 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>001</td>
|
232 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>C</td>
|
233 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Set
|
234 |
|
|
the CARRY flag in the status register</td>
|
235 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
236 |
|
|
<td class=xl65></td>
|
237 |
|
|
</tr>
|
238 |
|
|
<tr height=20 style='height:15.0pt'>
|
239 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>STP PSR_N</td>
|
240 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01011</td>
|
241 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>010</td>
|
242 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>N</td>
|
243 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Set
|
244 |
|
|
the NEGATIVE bit in the status register</td>
|
245 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
246 |
|
|
<td class=xl65></td>
|
247 |
|
|
</tr>
|
248 |
|
|
<tr height=20 style='height:15.0pt'>
|
249 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>STP PSR_I</td>
|
250 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01011</td>
|
251 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>011</td>
|
252 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>I</td>
|
253 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>set
|
254 |
|
|
the INTERRUPT bit in the status register</td>
|
255 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
256 |
|
|
<td class=xl65></td>
|
257 |
|
|
</tr>
|
258 |
|
|
<tr height=20 style='height:15.0pt'>
|
259 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>STP PSR_GP4</td>
|
260 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01011</td>
|
261 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>100</td>
|
262 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>4</td>
|
263 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Set
|
264 |
|
|
General Purpose Flag 1 in the status register</td>
|
265 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
266 |
|
|
<td class=xl65></td>
|
267 |
|
|
</tr>
|
268 |
|
|
<tr height=20 style='height:15.0pt'>
|
269 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>STP PSR_GP5</td>
|
270 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01011</td>
|
271 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>101</td>
|
272 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>5</td>
|
273 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Set
|
274 |
|
|
General Purpose Flag 2 in the status register</td>
|
275 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
276 |
|
|
<td class=xl65></td>
|
277 |
|
|
</tr>
|
278 |
|
|
<tr height=20 style='height:15.0pt'>
|
279 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>STP PSR_GP6</td>
|
280 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01011</td>
|
281 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>110</td>
|
282 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>6</td>
|
283 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Set
|
284 |
|
|
General Purpose Flag 3 in the status register</td>
|
285 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
286 |
|
|
<td class=xl65></td>
|
287 |
|
|
</tr>
|
288 |
|
|
<tr height=20 style='height:15.0pt'>
|
289 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>STP PSR_GP7</td>
|
290 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01011</td>
|
291 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>111</td>
|
292 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>7</td>
|
293 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Set
|
294 |
|
|
General Purpose Flag 4 in the status register</td>
|
295 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
296 |
|
|
<td class=xl65></td>
|
297 |
|
|
</tr>
|
298 |
|
|
<tr height=20 style='height:15.0pt'>
|
299 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>BTT 0-7</td>
|
300 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>01100</td>
|
301 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
302 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,Z</td>
|
303 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Test
|
304 |
|
|
the nth bit in R0 (!R0(n) -> Z, R0(7) -> N)</td>
|
305 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
306 |
|
|
<td class=xl65></td>
|
307 |
|
|
</tr>
|
308 |
|
|
<tr height=20 style='height:15.0pt'>
|
309 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>CLP PSR_Z</td>
|
310 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01101</td>
|
311 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>000</td>
|
312 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>Z</td>
|
313 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Clear
|
314 |
|
|
the ZERO flag in the status register</td>
|
315 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
316 |
|
|
<td class=xl65></td>
|
317 |
|
|
</tr>
|
318 |
|
|
<tr height=20 style='height:15.0pt'>
|
319 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>CLP PSR_C</td>
|
320 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01101</td>
|
321 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>001</td>
|
322 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>C</td>
|
323 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Clear
|
324 |
|
|
the CARRY flag in the status register</td>
|
325 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
326 |
|
|
<td class=xl65></td>
|
327 |
|
|
</tr>
|
328 |
|
|
<tr height=20 style='height:15.0pt'>
|
329 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>CLP PSR_N</td>
|
330 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01101</td>
|
331 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>010</td>
|
332 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>N</td>
|
333 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Clear
|
334 |
|
|
the NEGATIVE bit in the status register</td>
|
335 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
336 |
|
|
<td class=xl65></td>
|
337 |
|
|
</tr>
|
338 |
|
|
<tr height=20 style='height:15.0pt'>
|
339 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>CLP PSR_I</td>
|
340 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01101</td>
|
341 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>011</td>
|
342 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>I</td>
|
343 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Clear
|
344 |
|
|
the INTERRUPT bit in the status register</td>
|
345 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
346 |
|
|
<td class=xl65></td>
|
347 |
|
|
</tr>
|
348 |
|
|
<tr height=20 style='height:15.0pt'>
|
349 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>CLP PSR_GP4</td>
|
350 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01101</td>
|
351 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>100</td>
|
352 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>4</td>
|
353 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Clear
|
354 |
|
|
General Purpose Flag 1 in the status register</td>
|
355 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
356 |
|
|
<td class=xl65></td>
|
357 |
|
|
</tr>
|
358 |
|
|
<tr height=20 style='height:15.0pt'>
|
359 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>CLP PSR_GP5</td>
|
360 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01101</td>
|
361 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>101</td>
|
362 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>5</td>
|
363 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Clear
|
364 |
|
|
General Purpose Flag 2 in the status register</td>
|
365 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
366 |
|
|
<td class=xl65></td>
|
367 |
|
|
</tr>
|
368 |
|
|
<tr height=20 style='height:15.0pt'>
|
369 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>CLP PSR_GP6</td>
|
370 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01101</td>
|
371 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>110</td>
|
372 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>6</td>
|
373 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Clear
|
374 |
|
|
General Purpose Flag 3 in the status register</td>
|
375 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
376 |
|
|
<td class=xl65></td>
|
377 |
|
|
</tr>
|
378 |
|
|
<tr height=20 style='height:15.0pt'>
|
379 |
|
|
<td height=20 class=xl88 style='height:15.0pt;border-top:none'>CLP PSR_GP7</td>
|
380 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>01101</td>
|
381 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>111</td>
|
382 |
|
|
<td class=xl89 style='border-top:none;border-left:none'>7</td>
|
383 |
|
|
<td class=xl90 width=670 style='border-top:none;border-left:none;width:503pt'>Clear
|
384 |
|
|
General Purpose Flag 4 in the status register</td>
|
385 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
386 |
|
|
<td class=xl65></td>
|
387 |
|
|
</tr>
|
388 |
|
|
<tr height=20 style='height:15.0pt'>
|
389 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>T0X R0-R7</td>
|
390 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>01110</td>
|
391 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
392 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,Z</td>
|
393 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Transfer
|
394 |
|
|
R0 to Rn (R0 -> Rn)</td>
|
395 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
396 |
|
|
<td class=xl65></td>
|
397 |
|
|
</tr>
|
398 |
|
|
<tr height=20 style='height:15.0pt'>
|
399 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>CMP R0-R7</td>
|
400 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>01111</td>
|
401 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
402 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
403 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Compare
|
404 |
|
|
R0 to Rn (Performs R0 - Rn, but only sets flags)</td>
|
405 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
406 |
|
|
<td class=xl65></td>
|
407 |
|
|
</tr>
|
408 |
|
|
<tr height=20 style='height:15.0pt'>
|
409 |
|
|
<td height=20 class=xl91 style='height:15.0pt;border-top:none'>PSH R0-R7</td>
|
410 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>10000</td>
|
411 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>xxx</td>
|
412 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>-</td>
|
413 |
|
|
<td class=xl93 width=670 style='border-top:none;border-left:none;width:503pt'>Push
|
414 |
|
|
Rn to the stack</td>
|
415 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
416 |
|
|
<td class=xl65></td>
|
417 |
|
|
</tr>
|
418 |
|
|
<tr height=20 style='height:15.0pt'>
|
419 |
|
|
<td height=20 class=xl91 style='height:15.0pt;border-top:none'>POP R0-R7</td>
|
420 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>10001</td>
|
421 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>xxx</td>
|
422 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>N,Z</td>
|
423 |
|
|
<td class=xl93 width=670 style='border-top:none;border-left:none;width:503pt'>Pop
|
424 |
|
|
Rn from the stack</td>
|
425 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
426 |
|
|
<td class=xl65></td>
|
427 |
|
|
</tr>
|
428 |
|
|
<tr height=20 style='height:15.0pt'>
|
429 |
|
|
<td height=20 class=xl85 style='height:15.0pt;border-top:none'>BNZ</td>
|
430 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>10010</td>
|
431 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>000</td>
|
432 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>-</td>
|
433 |
|
|
<td class=xl87 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
434 |
|
|
if the ZERO flag is NOT set (Branch on Not Zero)</td>
|
435 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
436 |
|
|
<td class=xl65></td>
|
437 |
|
|
</tr>
|
438 |
|
|
<tr height=20 style='height:15.0pt'>
|
439 |
|
|
<td height=20 class=xl85 style='height:15.0pt;border-top:none'>BNC</td>
|
440 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>10010</td>
|
441 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>001</td>
|
442 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>-</td>
|
443 |
|
|
<td class=xl87 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
444 |
|
|
if the CARRY flag is NOT set (Branch on Not Carry)</td>
|
445 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
446 |
|
|
<td class=xl65></td>
|
447 |
|
|
</tr>
|
448 |
|
|
<tr height=20 style='height:15.0pt'>
|
449 |
|
|
<td height=20 class=xl85 style='height:15.0pt;border-top:none'>BNN</td>
|
450 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>10010</td>
|
451 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>010</td>
|
452 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>-</td>
|
453 |
|
|
<td class=xl87 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
454 |
|
|
if the NEGATIVE flag is NOT set (Branch on Not Negative)</td>
|
455 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
456 |
|
|
<td class=xl65></td>
|
457 |
|
|
</tr>
|
458 |
|
|
<tr height=20 style='height:15.0pt'>
|
459 |
|
|
<td height=20 class=xl85 style='height:15.0pt;border-top:none'>BNI</td>
|
460 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>10010</td>
|
461 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>011</td>
|
462 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>-</td>
|
463 |
|
|
<td class=xl87 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
464 |
|
|
if the INTERRUPT flag is NOT set (Branch on Not Interrupt)</td>
|
465 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
466 |
|
|
<td class=xl65></td>
|
467 |
|
|
</tr>
|
468 |
|
|
<tr height=20 style='height:15.0pt'>
|
469 |
|
|
<td height=20 class=xl85 style='height:15.0pt;border-top:none'>BNGP4</td>
|
470 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>10010</td>
|
471 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>100</td>
|
472 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>-</td>
|
473 |
|
|
<td class=xl87 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
474 |
|
|
if General Purpose Flag 4 is NOT set</td>
|
475 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
476 |
|
|
<td class=xl65></td>
|
477 |
|
|
</tr>
|
478 |
|
|
<tr height=20 style='height:15.0pt'>
|
479 |
|
|
<td height=20 class=xl85 style='height:15.0pt;border-top:none'>BNGP5</td>
|
480 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>10010</td>
|
481 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>101</td>
|
482 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>-</td>
|
483 |
|
|
<td class=xl87 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
484 |
|
|
if General Purpose Flag 5 is NOT set</td>
|
485 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
486 |
|
|
<td class=xl65></td>
|
487 |
|
|
</tr>
|
488 |
|
|
<tr height=20 style='height:15.0pt'>
|
489 |
|
|
<td height=20 class=xl85 style='height:15.0pt;border-top:none'>BNGP6</td>
|
490 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>10010</td>
|
491 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>110</td>
|
492 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>-</td>
|
493 |
|
|
<td class=xl87 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
494 |
|
|
if General Purpose Flag 6 is NOT set</td>
|
495 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
496 |
|
|
<td class=xl65></td>
|
497 |
|
|
</tr>
|
498 |
|
|
<tr height=20 style='height:15.0pt'>
|
499 |
|
|
<td height=20 class=xl85 style='height:15.0pt;border-top:none'>BNGP7</td>
|
500 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>10010</td>
|
501 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>111</td>
|
502 |
|
|
<td class=xl86 style='border-top:none;border-left:none'>-</td>
|
503 |
|
|
<td class=xl87 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
504 |
|
|
if General Purpose Flag 7 is NOT set</td>
|
505 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
506 |
|
|
<td class=xl65></td>
|
507 |
|
|
</tr>
|
508 |
|
|
<tr height=20 style='height:15.0pt'>
|
509 |
|
|
<td height=20 class=xl82 style='height:15.0pt;border-top:none'>BRZ</td>
|
510 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>10011</td>
|
511 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>000</td>
|
512 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>-</td>
|
513 |
|
|
<td class=xl84 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
514 |
|
|
if the ZERO flag is set (Branch on Zero)</td>
|
515 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
516 |
|
|
<td class=xl65></td>
|
517 |
|
|
</tr>
|
518 |
|
|
<tr height=20 style='height:15.0pt'>
|
519 |
|
|
<td height=20 class=xl82 style='height:15.0pt;border-top:none'>BRC</td>
|
520 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>10011</td>
|
521 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>001</td>
|
522 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>-</td>
|
523 |
|
|
<td class=xl84 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
524 |
|
|
if the CARRY flag is set (Branch on Carry)</td>
|
525 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
526 |
|
|
<td class=xl65></td>
|
527 |
|
|
</tr>
|
528 |
|
|
<tr height=20 style='height:15.0pt'>
|
529 |
|
|
<td height=20 class=xl82 style='height:15.0pt;border-top:none'>BRN</td>
|
530 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>10011</td>
|
531 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>010</td>
|
532 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>-</td>
|
533 |
|
|
<td class=xl84 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
534 |
|
|
if the NEGATIVE flag is set (Branch on Negative)</td>
|
535 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
536 |
|
|
<td class=xl65></td>
|
537 |
|
|
</tr>
|
538 |
|
|
<tr height=20 style='height:15.0pt'>
|
539 |
|
|
<td height=20 class=xl82 style='height:15.0pt;border-top:none'>BRI</td>
|
540 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>10011</td>
|
541 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>011</td>
|
542 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>-</td>
|
543 |
|
|
<td class=xl84 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
544 |
|
|
if the INTERRUPT flag is set (Branch on Interrupt)</td>
|
545 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
546 |
|
|
<td class=xl65></td>
|
547 |
|
|
</tr>
|
548 |
|
|
<tr height=20 style='height:15.0pt'>
|
549 |
|
|
<td height=20 class=xl82 style='height:15.0pt;border-top:none'>BRGP4</td>
|
550 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>10011</td>
|
551 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>100</td>
|
552 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>-</td>
|
553 |
|
|
<td class=xl84 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
554 |
|
|
if General Purpose Flag 4 is set</td>
|
555 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
556 |
|
|
<td class=xl65></td>
|
557 |
|
|
</tr>
|
558 |
|
|
<tr height=20 style='height:15.0pt'>
|
559 |
|
|
<td height=20 class=xl82 style='height:15.0pt;border-top:none'>BRGP5</td>
|
560 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>10011</td>
|
561 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>101</td>
|
562 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>-</td>
|
563 |
|
|
<td class=xl84 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
564 |
|
|
if General Purpose Flag 5 is set</td>
|
565 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
566 |
|
|
<td class=xl65></td>
|
567 |
|
|
</tr>
|
568 |
|
|
<tr height=20 style='height:15.0pt'>
|
569 |
|
|
<td height=20 class=xl82 style='height:15.0pt;border-top:none'>BRGP6</td>
|
570 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>10011</td>
|
571 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>110</td>
|
572 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>-</td>
|
573 |
|
|
<td class=xl84 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
574 |
|
|
if General Purpose Flag 6 is set</td>
|
575 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
576 |
|
|
<td class=xl65></td>
|
577 |
|
|
</tr>
|
578 |
|
|
<tr height=20 style='height:15.0pt'>
|
579 |
|
|
<td height=20 class=xl82 style='height:15.0pt;border-top:none'>BRGP7</td>
|
580 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>10011</td>
|
581 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>111</td>
|
582 |
|
|
<td class=xl83 style='border-top:none;border-left:none'>-</td>
|
583 |
|
|
<td class=xl84 width=670 style='border-top:none;border-left:none;width:503pt'>Branch
|
584 |
|
|
if General Purpose Flag 7 is set</td>
|
585 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
586 |
|
|
<td class=xl65></td>
|
587 |
|
|
</tr>
|
588 |
|
|
<tr height=20 style='height:15.0pt'>
|
589 |
|
|
<td height=20 class=xl97 style='height:15.0pt;border-top:none'>DBNZ R0-R7</td>
|
590 |
|
|
<td class=xl98 style='border-top:none;border-left:none'>10100</td>
|
591 |
|
|
<td class=xl98 style='border-top:none;border-left:none'>xxx</td>
|
592 |
|
|
<td class=xl98 style='border-top:none;border-left:none'>N,C,Z</td>
|
593 |
|
|
<td class=xl99 width=670 style='border-top:none;border-left:none;width:503pt'>Decrement
|
594 |
|
|
and Branch if Not Zero (Rn - 1 -> Rn)</td>
|
595 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
596 |
|
|
<td class=xl65></td>
|
597 |
|
|
</tr>
|
598 |
|
|
<tr height=20 style='height:15.0pt'>
|
599 |
|
|
<td height=20 class=xl100 style='height:15.0pt;border-top:none'>INT 0-7</td>
|
600 |
|
|
<td class=xl101 style='border-top:none;border-left:none'>10101</td>
|
601 |
|
|
<td class=xl101 style='border-top:none;border-left:none'>xxx</td>
|
602 |
|
|
<td class=xl101 style='border-top:none;border-left:none'>-</td>
|
603 |
|
|
<td class=xl102 width=670 style='border-top:none;border-left:none;width:503pt'>Trigger
|
604 |
|
|
Interrupt n (Triggers the specified interrupt, then pauses the processor
|
605 |
|
|
until the ISR executes)</td>
|
606 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
607 |
|
|
<td class=xl65></td>
|
608 |
|
|
</tr>
|
609 |
|
|
<tr height=20 style='height:15.0pt'>
|
610 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>MUL R0-R7</td>
|
611 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>10110</td>
|
612 |
|
|
<td class=xl103 style='border-top:none;border-left:none'>xxx</td>
|
613 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>Z</td>
|
614 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Multiply
|
615 |
|
|
Rn by R0 with results stored in R1:R0 (Rn * R0 -> R1:R0)</td>
|
616 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
617 |
|
|
<td class=xl65></td>
|
618 |
|
|
</tr>
|
619 |
|
|
<tr height=20 style='height:15.0pt'>
|
620 |
|
|
<td height=20 class=xl94 style='height:15.0pt;border-top:none'>RSP</td>
|
621 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>10111</td>
|
622 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>000</td>
|
623 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>-</td>
|
624 |
|
|
<td class=xl96 width=670 style='border-top:none;border-left:none;width:503pt'>Reset
|
625 |
|
|
(or Retrieve/Relocate) the Stack Pointer <font class="font5">(See CPU options
|
626 |
|
|
for exact behavior)</font></td>
|
627 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
628 |
|
|
<td class=xl65></td>
|
629 |
|
|
</tr>
|
630 |
|
|
<tr height=20 style='height:15.0pt'>
|
631 |
|
|
<td height=20 class=xl94 style='height:15.0pt;border-top:none'>RTS</td>
|
632 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>10111</td>
|
633 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>001</td>
|
634 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>-</td>
|
635 |
|
|
<td class=xl96 width=670 style='border-top:none;border-left:none;width:503pt'>Return
|
636 |
|
|
from Subroutine (only pops the return address and jumps - does not affect
|
637 |
|
|
flags)</td>
|
638 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
639 |
|
|
<td class=xl65></td>
|
640 |
|
|
</tr>
|
641 |
|
|
<tr height=20 style='height:15.0pt'>
|
642 |
|
|
<td height=20 class=xl94 style='height:15.0pt;border-top:none'>RTI</td>
|
643 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>10111</td>
|
644 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>010</td>
|
645 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>-</td>
|
646 |
|
|
<td class=xl96 width=670 style='border-top:none;border-left:none;width:503pt'>Return
|
647 |
|
|
from Interrupt (restores both the address and the status register)</td>
|
648 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
649 |
|
|
<td class=xl65></td>
|
650 |
|
|
</tr>
|
651 |
|
|
<tr height=20 style='height:15.0pt'>
|
652 |
|
|
<td height=20 class=xl94 style='height:15.0pt;border-top:none'>BRK/WAI</td>
|
653 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>10111</td>
|
654 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>011</td>
|
655 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>-</td>
|
656 |
|
|
<td class=xl96 width=670 style='border-top:none;border-left:none;width:503pt'>Break
|
657 |
|
|
or Wait for Interrupt (See CPU options for exact behavior)</td>
|
658 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
659 |
|
|
<td class=xl65></td>
|
660 |
|
|
</tr>
|
661 |
|
|
<tr height=20 style='height:15.0pt'>
|
662 |
|
|
<td height=20 class=xl94 style='height:15.0pt;border-top:none'>JMP</td>
|
663 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>10111</td>
|
664 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>100</td>
|
665 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>-</td>
|
666 |
|
|
<td class=xl96 width=670 style='border-top:none;border-left:none;width:503pt'>Jump
|
667 |
|
|
to Address (Address is assumed to be stored after the instruction)</td>
|
668 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
669 |
|
|
<td class=xl65></td>
|
670 |
|
|
</tr>
|
671 |
|
|
<tr height=20 style='height:15.0pt'>
|
672 |
|
|
<td height=20 class=xl94 style='height:15.0pt;border-top:none'>SMSK</td>
|
673 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>10111</td>
|
674 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>101</td>
|
675 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>-</td>
|
676 |
|
|
<td class=xl96 width=670 style='border-top:none;border-left:none;width:503pt'>Set
|
677 |
|
|
the Interrupt Mask to the contents of R0 (R0 -> MASK)</td>
|
678 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
679 |
|
|
<td class=xl65></td>
|
680 |
|
|
</tr>
|
681 |
|
|
<tr height=20 style='height:15.0pt'>
|
682 |
|
|
<td height=20 class=xl94 style='height:15.0pt;border-top:none'>GMSK</td>
|
683 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>10111</td>
|
684 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>110</td>
|
685 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>-</td>
|
686 |
|
|
<td class=xl96 width=670 style='border-top:none;border-left:none;width:503pt'>Get
|
687 |
|
|
the Interrupt Mask and store to R0 (MASK -> R0)</td>
|
688 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
689 |
|
|
<td class=xl65></td>
|
690 |
|
|
</tr>
|
691 |
|
|
<tr height=21 style='mso-height-source:userset;height:15.75pt'>
|
692 |
|
|
<td height=21 class=xl94 style='height:15.75pt;border-top:none'>JSR</td>
|
693 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>10111</td>
|
694 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>111</td>
|
695 |
|
|
<td class=xl95 style='border-top:none;border-left:none'>-</td>
|
696 |
|
|
<td class=xl96 width=670 style='border-top:none;border-left:none;width:503pt'>Jump
|
697 |
|
|
to Subroutine (pushes the return address, then jumps to the address specified
|
698 |
|
|
in subsequent bytes)</td>
|
699 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
700 |
|
|
<td class=xl65></td>
|
701 |
|
|
</tr>
|
702 |
|
|
<tr height=20 style='height:15.0pt'>
|
703 |
|
|
<td height=20 class=xl76 style='height:15.0pt;border-top:none'>UPP R0-R7</td>
|
704 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>11000</td>
|
705 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>xxx</td>
|
706 |
|
|
<td class=xl77 style='border-top:none;border-left:none'>N,C,Z</td>
|
707 |
|
|
<td class=xl78 width=670 style='border-top:none;border-left:none;width:503pt'>Increment
|
708 |
|
|
Register Pair (Rn+1:Rn + 1 -> Rn+1:Rn)</td>
|
709 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
710 |
|
|
<td class=xl65></td>
|
711 |
|
|
</tr>
|
712 |
|
|
<tr height=20 style='height:15.0pt'>
|
713 |
|
|
<td height=20 class=xl79 style='height:15.0pt;border-top:none'>STA R0-R7</td>
|
714 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>11001</td>
|
715 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>xxx</td>
|
716 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>-</td>
|
717 |
|
|
<td class=xl81 width=670 style='border-top:none;border-left:none;width:503pt'>Store
|
718 |
|
|
Rn to Fixed Address (Address follows instruction)</td>
|
719 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
720 |
|
|
<td class=xl65></td>
|
721 |
|
|
</tr>
|
722 |
|
|
<tr height=20 style='height:15.0pt'>
|
723 |
|
|
<td height=20 class=xl79 style='height:15.0pt;border-top:none'>STX R0-R7(+)</td>
|
724 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>11010</td>
|
725 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>xxx</td>
|
726 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>N,C,Z</td>
|
727 |
|
|
<td class=xl81 width=670 style='border-top:none;border-left:none;width:503pt'>Store
|
728 |
|
|
R0 to Address referenced by Rn+1:Rn (See CPU options for exact behavior)</td>
|
729 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
730 |
|
|
<td class=xl65></td>
|
731 |
|
|
</tr>
|
732 |
|
|
<tr height=20 style='height:15.0pt'>
|
733 |
|
|
<td height=20 class=xl79 style='height:15.0pt;border-top:none'>STO R0-R7(+)</td>
|
734 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>11011</td>
|
735 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>xxx</td>
|
736 |
|
|
<td class=xl80 style='border-top:none;border-left:none'>N,C,Z</td>
|
737 |
|
|
<td class=xl81 width=670 style='border-top:none;border-left:none;width:503pt'>Store
|
738 |
|
|
R0 to Rn+1:Rn + Offset (Offset is stored in subsequent byte) (See CPU options
|
739 |
|
|
for exact behavior)</td>
|
740 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
741 |
|
|
<td class=xl65></td>
|
742 |
|
|
</tr>
|
743 |
|
|
<tr height=20 style='height:15.0pt'>
|
744 |
|
|
<td height=20 class=xl91 style='height:15.0pt;border-top:none'>LDI R0-R7</td>
|
745 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>11100</td>
|
746 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>xxx</td>
|
747 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>N,Z</td>
|
748 |
|
|
<td class=xl93 width=670 style='border-top:none;border-left:none;width:503pt'>Load
|
749 |
|
|
Rn with Immediate Data (IMM -> Rn) (Data is stored in subsequent byte)</td>
|
750 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
751 |
|
|
<td class=xl65></td>
|
752 |
|
|
</tr>
|
753 |
|
|
<tr height=20 style='height:15.0pt'>
|
754 |
|
|
<td height=20 class=xl91 style='height:15.0pt;border-top:none'>LDA R0-R7</td>
|
755 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>11101</td>
|
756 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>xxx</td>
|
757 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>N,Z</td>
|
758 |
|
|
<td class=xl93 width=670 style='border-top:none;border-left:none;width:503pt'>Load
|
759 |
|
|
Rn from Fixed Address (Address follows instruction)</td>
|
760 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
761 |
|
|
<td class=xl65></td>
|
762 |
|
|
</tr>
|
763 |
|
|
<tr height=20 style='height:15.0pt'>
|
764 |
|
|
<td height=20 class=xl91 style='height:15.0pt;border-top:none'>LDX R0-R7(+)</td>
|
765 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>11110</td>
|
766 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>xxx</td>
|
767 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>N,C,Z</td>
|
768 |
|
|
<td class=xl93 width=670 style='border-top:none;border-left:none;width:503pt'>Load
|
769 |
|
|
R0 from Address referenced by Rn+1:Rn (See CPU options for exact behavior)</td>
|
770 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
771 |
|
|
<td class=xl65></td>
|
772 |
|
|
</tr>
|
773 |
|
|
<tr height=40 style='height:30.0pt'>
|
774 |
|
|
<td height=40 class=xl91 style='height:30.0pt;border-top:none'>LDO R0-R7(+)</td>
|
775 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>11111</td>
|
776 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>xxx</td>
|
777 |
|
|
<td class=xl92 style='border-top:none;border-left:none'>N,C,Z</td>
|
778 |
|
|
<td class=xl93 width=670 style='border-top:none;border-left:none;width:503pt'>Load
|
779 |
|
|
R0 from Address referenced by Rn+1:Rn plus an offset<span
|
780 |
|
|
style='mso-spacerun:yes'> </span>(Offset is stored in subsequent byte) (See
|
781 |
|
|
CPU options for exact behavior)</td>
|
782 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
783 |
|
|
<td class=xl65></td>
|
784 |
|
|
</tr>
|
785 |
|
|
<tr height=20 style='height:15.0pt'>
|
786 |
|
|
<td height=20 style='height:15.0pt'></td>
|
787 |
|
|
<td colspan=2 class=xl67 style='mso-ignore:colspan'></td>
|
788 |
|
|
<td class=xl66></td>
|
789 |
|
|
<td class=xl68></td>
|
790 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
791 |
|
|
<td class=xl65></td>
|
792 |
|
|
</tr>
|
793 |
|
|
<tr height=60 style='height:45.0pt'>
|
794 |
|
|
<td height=60 style='height:45.0pt'></td>
|
795 |
|
|
<td colspan=2 class=xl67 style='mso-ignore:colspan'></td>
|
796 |
|
|
<td class=xl66></td>
|
797 |
|
|
<td class=xl68 width=670 style='width:503pt'>Note - Indexed instructions with
|
798 |
|
|
(+) after the operand optionally allow for auto-incrementing of the register
|
799 |
|
|
pair. For example, LDX R4++ is equivalent to LDX R5 when auto-incrementing is
|
800 |
|
|
turned on) See CPU options for exact behavior)</td>
|
801 |
|
|
<td colspan=2 style='mso-ignore:colspan'></td>
|
802 |
|
|
<td class=xl65></td>
|
803 |
|
|
</tr>
|
804 |
|
|
<![if supportMisalignedColumns]>
|
805 |
|
|
<tr height=0 style='display:none'>
|
806 |
|
|
<td width=86 style='width:65pt'></td>
|
807 |
|
|
<td width=74 style='width:56pt'></td>
|
808 |
|
|
<td width=61 style='width:46pt'></td>
|
809 |
|
|
<td width=64 style='width:48pt'></td>
|
810 |
|
|
<td width=670 style='width:503pt'></td>
|
811 |
|
|
<td width=64 style='width:48pt'></td>
|
812 |
|
|
<td width=97 style='width:73pt'></td>
|
813 |
|
|
<td width=64 style='width:48pt'></td>
|
814 |
|
|
</tr>
|
815 |
|
|
<![endif]>
|
816 |
|
|
</table>
|
817 |
|
|
|
818 |
|
|
</body>
|
819 |
|
|
|
820 |
|
|
</html>
|