summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormanuel <manuel@nc8430.lan>2009-05-14 18:58:48 +0200
committermanuel <manuel@nc8430.lan>2009-05-14 18:58:48 +0200
commit53b68ac658569dea3f5a26745dacf2a9aca0b266 (patch)
tree269af83394e84e2a7142dde87fb15dce413aa5c9
parentddf63e2765a6b225d18c59321595e69e1a126e0c (diff)
parent3563c6dfd0f5f102cb748ecc6ad318601990515e (diff)
downloadooprog-53b68ac658569dea3f5a26745dacf2a9aca0b266.tar.gz
ooprog-53b68ac658569dea3f5a26745dacf2a9aca0b266.tar.bz2
ooprog-53b68ac658569dea3f5a26745dacf2a9aca0b266.zip
trying merging cpu-mm with default branch
-rw-r--r--.hgignore1
-rw-r--r--ue1/imgsynth/Makefile2
-rw-r--r--ue1/protokoll.pdfbin283846 -> 283840 bytes
-rw-r--r--ue2/imgsynth2/Makefile2
-rw-r--r--ue3/doxygen/annotated.html54
-rw-r--r--ue3/doxygen/ccpu_8h-source.html114
-rw-r--r--ue3/doxygen/cdat_8h-source.html148
-rw-r--r--ue3/doxygen/cdisplay_8h-source.html52
-rw-r--r--ue3/doxygen/cinstruction_8h-source.html85
-rw-r--r--ue3/doxygen/classCCPU-members.html42
-rw-r--r--ue3/doxygen/classCCPU.html578
-rw-r--r--ue3/doxygen/classCDat.html35
-rw-r--r--ue3/doxygen/classCDatT-members.html48
-rw-r--r--ue3/doxygen/classCDatT.html879
-rw-r--r--ue3/doxygen/classCDisplay.html45
-rw-r--r--ue3/doxygen/classCDisplay.pngbin0 -> 514 bytes
-rw-r--r--ue3/doxygen/classCDisplayT-members.html33
-rw-r--r--ue3/doxygen/classCDisplayT.html227
-rw-r--r--ue3/doxygen/classCDisplayWDEZ-members.html30
-rw-r--r--ue3/doxygen/classCDisplayWDEZ.html87
-rw-r--r--ue3/doxygen/classCDisplayWDEZ.pngbin0 -> 400 bytes
-rw-r--r--ue3/doxygen/classCDisplayWHEX-members.html30
-rw-r--r--ue3/doxygen/classCDisplayWHEX.html87
-rw-r--r--ue3/doxygen/classCDisplayWHEX.pngbin0 -> 389 bytes
-rw-r--r--ue3/doxygen/classCInstruction-members.html41
-rw-r--r--ue3/doxygen/classCInstruction.html575
-rw-r--r--ue3/doxygen/classCInstruction.pngbin0 -> 1882 bytes
-rw-r--r--ue3/doxygen/classCInstructionAdd-members.html45
-rw-r--r--ue3/doxygen/classCInstructionAdd.html223
-rw-r--r--ue3/doxygen/classCInstructionAdd.pngbin0 -> 389 bytes
-rw-r--r--ue3/doxygen/classCInstructionDec-members.html43
-rw-r--r--ue3/doxygen/classCInstructionDec.html189
-rw-r--r--ue3/doxygen/classCInstructionDec.pngbin0 -> 393 bytes
-rw-r--r--ue3/doxygen/classCInstructionDiv-members.html45
-rw-r--r--ue3/doxygen/classCInstructionDiv.html223
-rw-r--r--ue3/doxygen/classCInstructionDiv.pngbin0 -> 382 bytes
-rw-r--r--ue3/doxygen/classCInstructionInc-members.html43
-rw-r--r--ue3/doxygen/classCInstructionInc.html189
-rw-r--r--ue3/doxygen/classCInstructionInc.pngbin0 -> 373 bytes
-rw-r--r--ue3/doxygen/classCInstructionJumpA-members.html43
-rw-r--r--ue3/doxygen/classCInstructionJumpA.html189
-rw-r--r--ue3/doxygen/classCInstructionJumpA.pngbin0 -> 414 bytes
-rw-r--r--ue3/doxygen/classCInstructionJumpS-members.html43
-rw-r--r--ue3/doxygen/classCInstructionJumpS.html189
-rw-r--r--ue3/doxygen/classCInstructionJumpS.pngbin0 -> 416 bytes
-rw-r--r--ue3/doxygen/classCInstructionJumpZ-members.html43
-rw-r--r--ue3/doxygen/classCInstructionJumpZ.html189
-rw-r--r--ue3/doxygen/classCInstructionJumpZ.pngbin0 -> 416 bytes
-rw-r--r--ue3/doxygen/classCInstructionLabel-members.html42
-rw-r--r--ue3/doxygen/classCInstructionLabel.html170
-rw-r--r--ue3/doxygen/classCInstructionLabel.pngbin0 -> 400 bytes
-rw-r--r--ue3/doxygen/classCInstructionLoad-members.html44
-rw-r--r--ue3/doxygen/classCInstructionLoad.html206
-rw-r--r--ue3/doxygen/classCInstructionLoad.pngbin0 -> 395 bytes
-rw-r--r--ue3/doxygen/classCInstructionMul-members.html45
-rw-r--r--ue3/doxygen/classCInstructionMul.html223
-rw-r--r--ue3/doxygen/classCInstructionMul.pngbin0 -> 384 bytes
-rw-r--r--ue3/doxygen/classCInstructionStore-members.html44
-rw-r--r--ue3/doxygen/classCInstructionStore.html206
-rw-r--r--ue3/doxygen/classCInstructionStore.pngbin0 -> 400 bytes
-rw-r--r--ue3/doxygen/classCInstructionSub-members.html45
-rw-r--r--ue3/doxygen/classCInstructionSub.html223
-rw-r--r--ue3/doxygen/classCInstructionSub.pngbin0 -> 388 bytes
-rw-r--r--ue3/doxygen/classCInstructionTest-members.html43
-rw-r--r--ue3/doxygen/classCInstructionTest.html189
-rw-r--r--ue3/doxygen/classCInstructionTest.pngbin0 -> 392 bytes
-rw-r--r--ue3/doxygen/classCInstructionWrite-members.html44
-rw-r--r--ue3/doxygen/classCInstructionWrite.html206
-rw-r--r--ue3/doxygen/classCInstructionWrite.pngbin0 -> 394 bytes
-rw-r--r--ue3/doxygen/classCMem.html35
-rw-r--r--ue3/doxygen/classCProgram-members.html33
-rw-r--r--ue3/doxygen/classCProgram.html234
-rw-r--r--ue3/doxygen/classCVectorMem-members.html29
-rw-r--r--ue3/doxygen/classCVectorMem.html83
-rw-r--r--ue3/doxygen/cmem_8h-source.html95
-rw-r--r--ue3/doxygen/cprogram_8h-source.html60
-rw-r--r--ue3/doxygen/displays_8h-source.html60
-rw-r--r--ue3/doxygen/doxygen.css358
-rw-r--r--ue3/doxygen/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--ue3/doxygen/files.html30
-rw-r--r--ue3/doxygen/functions.html259
-rw-r--r--ue3/doxygen/functions_func.html219
-rw-r--r--ue3/doxygen/functions_rela.html44
-rw-r--r--ue3/doxygen/functions_vars.html71
-rw-r--r--ue3/doxygen/hierarchy.html58
-rw-r--r--ue3/doxygen/index.html22
-rw-r--r--ue3/doxygen/instructions_8h-source.html347
-rw-r--r--ue3/doxygen/namespaces.html23
-rw-r--r--ue3/doxygen/namespacestd.html32
-rw-r--r--ue3/doxygen/tab_b.gifbin0 -> 35 bytes
-rw-r--r--ue3/doxygen/tab_l.gifbin0 -> 706 bytes
-rw-r--r--ue3/doxygen/tab_r.gifbin0 -> 2585 bytes
-rw-r--r--ue3/doxygen/tabs.css102
-rw-r--r--ue3/mycpu/Makefile6
-rw-r--r--ue3/mycpu/ccpu.cpp125
-rw-r--r--ue3/mycpu/ccpu.h235
-rw-r--r--ue3/mycpu/cdat.h67
-rw-r--r--ue3/mycpu/cdisplay.h85
-rw-r--r--ue3/mycpu/cinstruction.cpp132
-rw-r--r--ue3/mycpu/cinstruction.h306
-rw-r--r--ue3/mycpu/cmem.cpp124
-rw-r--r--ue3/mycpu/cmem.h133
-rw-r--r--ue3/mycpu/cprogram.cpp186
-rw-r--r--ue3/mycpu/cprogram.h112
-rw-r--r--ue3/mycpu/displays.h76
-rw-r--r--ue3/mycpu/instructions.cpp341
-rw-r--r--ue3/mycpu/instructions.h454
-rw-r--r--ue3/mycpu/mycpu.cpp127
-rwxr-xr-xue3/mycpu/test/test.sh42
-rw-r--r--ue3/mycpu/test/test1_memory1
-rw-r--r--ue3/mycpu/test/test1_output19
-rw-r--r--ue3/mycpu/test/test1_program13
-rw-r--r--ue3/mycpu/test/test_prog15
-rw-r--r--ue3/mycpu/test/test_prog_mem6
-rw-r--r--ue3/protokoll.pdfbin0 -> 405263 bytes
-rw-r--r--ue3/protokoll/mycpu.pngbin0 -> 111899 bytes
-rw-r--r--ue3/protokoll/mycpu.vppbin0 -> 129025 bytes
-rw-r--r--ue3/protokoll/protokoll.tex144
118 files changed, 10805 insertions, 759 deletions
diff --git a/.hgignore b/.hgignore
index 2dd5fef..b96a5d0 100644
--- a/.hgignore
+++ b/.hgignore
@@ -5,6 +5,7 @@ syntax: glob
5*.so 5*.so
6*.swp 6*.swp
7*~ 7*~
8tmpfile
8ue1/imgsynth/imgsynth 9ue1/imgsynth/imgsynth
9ue2/imgsynth/test/*_out* 10ue2/imgsynth/test/*_out*
10ue2/imgsynth2/imgsynth2 11ue2/imgsynth2/imgsynth2
diff --git a/ue1/imgsynth/Makefile b/ue1/imgsynth/Makefile
index 6b52d60..71f57d7 100644
--- a/ue1/imgsynth/Makefile
+++ b/ue1/imgsynth/Makefile
@@ -5,7 +5,7 @@
5CC= g++ 5CC= g++
6LD= $(CC) 6LD= $(CC)
7DEBUGFLAGS= 7DEBUGFLAGS=
8CFLAGS= -O -ansi -pedantic-errors -Wall $(DEBUGFLAGS) 8CFLAGS= -O -ansi -pedantic-errors -Wall -Wno-long-long $(DEBUGFLAGS)
9LDFLAGS= 9LDFLAGS=
10LIBS= -lboost_program_options 10LIBS= -lboost_program_options
11 11
diff --git a/ue1/protokoll.pdf b/ue1/protokoll.pdf
index d1a72ac..3682945 100644
--- a/ue1/protokoll.pdf
+++ b/ue1/protokoll.pdf
Binary files differ
diff --git a/ue2/imgsynth2/Makefile b/ue2/imgsynth2/Makefile
index 481230c..932ae97 100644
--- a/ue2/imgsynth2/Makefile
+++ b/ue2/imgsynth2/Makefile
@@ -6,7 +6,7 @@ CXX= g++
6LD= $(CXX) 6LD= $(CXX)
7DEBUGFLAGS= -DNDEBUG 7DEBUGFLAGS= -DNDEBUG
8INCLUDE_PATH= -I/usr/local/include 8INCLUDE_PATH= -I/usr/local/include
9CXXFLAGS= -O -ansi -pedantic-errors -Wall $(INCLUDE_PATH) $(DEBUGFLAGS) 9CXXFLAGS= -O -ansi -pedantic-errors -Wall -Wno-long-long $(INCLUDE_PATH) $(DEBUGFLAGS)
10LDFLAGS= 10LDFLAGS=
11LIBS= -L/usr/local/lib -lboost_program_options 11LIBS= -L/usr/local/lib -lboost_program_options
12 12
diff --git a/ue3/doxygen/annotated.html b/ue3/doxygen/annotated.html
new file mode 100644
index 0000000..fb958c8
--- /dev/null
+++ b/ue3/doxygen/annotated.html
@@ -0,0 +1,54 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Class List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>mycpu Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
24 <tr><td class="indexkey"><a class="el" href="classCCPU.html">CCPU</a></td><td class="indexvalue"></td></tr>
25 <tr><td class="indexkey"><a class="el" href="classCDat.html">CDat</a></td><td class="indexvalue"></td></tr>
26 <tr><td class="indexkey"><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
27 <tr><td class="indexkey"><a class="el" href="classCDisplay.html">CDisplay</a></td><td class="indexvalue"></td></tr>
28 <tr><td class="indexkey"><a class="el" href="classCDisplayT.html">CDisplayT&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
29 <tr><td class="indexkey"><a class="el" href="classCDisplayWDEZ.html">CDisplayWDEZ</a></td><td class="indexvalue"></td></tr>
30 <tr><td class="indexkey"><a class="el" href="classCDisplayWHEX.html">CDisplayWHEX</a></td><td class="indexvalue"></td></tr>
31 <tr><td class="indexkey"><a class="el" href="classCInstruction.html">CInstruction</a></td><td class="indexvalue"></td></tr>
32 <tr><td class="indexkey"><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a></td><td class="indexvalue"></td></tr>
33 <tr><td class="indexkey"><a class="el" href="classCInstructionDec.html">CInstructionDec</a></td><td class="indexvalue"></td></tr>
34 <tr><td class="indexkey"><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a></td><td class="indexvalue"></td></tr>
35 <tr><td class="indexkey"><a class="el" href="classCInstructionInc.html">CInstructionInc</a></td><td class="indexvalue"></td></tr>
36 <tr><td class="indexkey"><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a></td><td class="indexvalue"></td></tr>
37 <tr><td class="indexkey"><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a></td><td class="indexvalue"></td></tr>
38 <tr><td class="indexkey"><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a></td><td class="indexvalue"></td></tr>
39 <tr><td class="indexkey"><a class="el" href="classCInstructionLabel.html">CInstructionLabel</a></td><td class="indexvalue"></td></tr>
40 <tr><td class="indexkey"><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a></td><td class="indexvalue"></td></tr>
41 <tr><td class="indexkey"><a class="el" href="classCInstructionMul.html">CInstructionMul</a></td><td class="indexvalue"></td></tr>
42 <tr><td class="indexkey"><a class="el" href="classCInstructionStore.html">CInstructionStore</a></td><td class="indexvalue"></td></tr>
43 <tr><td class="indexkey"><a class="el" href="classCInstructionSub.html">CInstructionSub</a></td><td class="indexvalue"></td></tr>
44 <tr><td class="indexkey"><a class="el" href="classCInstructionTest.html">CInstructionTest</a></td><td class="indexvalue"></td></tr>
45 <tr><td class="indexkey"><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a></td><td class="indexvalue"></td></tr>
46 <tr><td class="indexkey"><a class="el" href="classCMem.html">CMem</a></td><td class="indexvalue"></td></tr>
47 <tr><td class="indexkey"><a class="el" href="classCProgram.html">CProgram</a></td><td class="indexvalue"></td></tr>
48 <tr><td class="indexkey"><a class="el" href="classCVectorMem.html">CVectorMem&lt; T, Allocator &gt;</a></td><td class="indexvalue"></td></tr>
49</table>
50<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
51<a href="http://www.doxygen.org/index.html">
52<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
53</body>
54</html>
diff --git a/ue3/doxygen/ccpu_8h-source.html b/ue3/doxygen/ccpu_8h-source.html
new file mode 100644
index 0000000..0081283
--- /dev/null
+++ b/ue3/doxygen/ccpu_8h-source.html
@@ -0,0 +1,114 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: mycpu/ccpu.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu/ccpu.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17<a name="l00009"></a>00009 <span class="preprocessor">#ifndef CCPU_H</span>
18<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define CCPU_H 1</span>
19<a name="l00011"></a>00011 <span class="preprocessor"></span>
20<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;iostream&gt;</span>
21<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;set&gt;</span>
22<a name="l00014"></a>00014 <span class="preprocessor">#include "cdat.h"</span>
23<a name="l00015"></a>00015 <span class="preprocessor">#include "cmem.h"</span>
24<a name="l00016"></a>00016 <span class="preprocessor">#include "cprogram.h"</span>
25<a name="l00017"></a>00017 <span class="preprocessor">#include "cdisplay.h"</span>
26<a name="l00018"></a>00018
27<a name="l00025"></a><a class="code" href="classCCPU.html">00025</a> <span class="keyword">class </span><a class="code" href="classCCPU.html">CCPU</a>
28<a name="l00026"></a>00026 {
29<a name="l00027"></a>00027 <span class="keyword">public</span>:
30<a name="l00037"></a>00037 <a class="code" href="classCCPU.html#12b0f403ddbfae0ff52cbf079b96395b" title="Default ctor.">CCPU</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> cnt);
31<a name="l00038"></a>00038
32<a name="l00048"></a>00048 <a class="code" href="classCCPU.html#7523a3b0b832774c3df57bd019273a68" title="Default dtor.">~CCPU</a>();
33<a name="l00049"></a>00049
34<a name="l00059"></a><a class="code" href="classCCPU.html#b25ee10ea09dfe12d9e77e5eb2126d32">00059</a> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="classCCPU.html#b25ee10ea09dfe12d9e77e5eb2126d32" title="get number of registers">getRegisterCount</a>()<span class="keyword"> const</span>
35<a name="l00060"></a>00060 <span class="keyword"> </span>{
36<a name="l00061"></a>00061 <span class="keywordflow">return</span> m_regcnt;
37<a name="l00062"></a>00062 }
38<a name="l00063"></a>00063
39<a name="l00073"></a><a class="code" href="classCCPU.html#efe3e22919627e5daf525d11b13d5c44">00073</a> <a class="code" href="classCDat.html">CDat</a> *<a class="code" href="classCCPU.html#efe3e22919627e5daf525d11b13d5c44" title="get pointer to registers array">getRegisters</a>()<span class="keyword"> const</span>
40<a name="l00074"></a>00074 <span class="keyword"> </span>{
41<a name="l00075"></a>00075 <span class="keywordflow">return</span> m_registers;
42<a name="l00076"></a>00076 }
43<a name="l00077"></a>00077
44<a name="l00087"></a><a class="code" href="classCCPU.html#bb2644a658cbfbcdd7c579a2840cee67">00087</a> <span class="keywordtype">void</span> <a class="code" href="classCCPU.html#bb2644a658cbfbcdd7c579a2840cee67" title="set memory of cpu">setMemory</a>(<a class="code" href="classCMem.html">CMem</a> *memory)
45<a name="l00088"></a>00088 {
46<a name="l00089"></a>00089 m_memory = memory;
47<a name="l00090"></a>00090 }
48<a name="l00091"></a>00091
49<a name="l00101"></a><a class="code" href="classCCPU.html#47e3302a8d9582b29a4d722735d8aa60">00101</a> <a class="code" href="classCMem.html">CMem</a> *<a class="code" href="classCCPU.html#47e3302a8d9582b29a4d722735d8aa60" title="get pointer to memory">getMemory</a>()<span class="keyword"> const</span>
50<a name="l00102"></a>00102 <span class="keyword"> </span>{
51<a name="l00103"></a>00103 <span class="keywordflow">return</span> m_memory;
52<a name="l00104"></a>00104 }
53<a name="l00105"></a>00105
54<a name="l00115"></a><a class="code" href="classCCPU.html#3790f6567091892f8867329424d03f71">00115</a> <span class="keywordtype">void</span> <a class="code" href="classCCPU.html#3790f6567091892f8867329424d03f71" title="set program to execute">setProgram</a>(<span class="keyword">const</span> <a class="code" href="classCProgram.html">CProgram</a> *program)
55<a name="l00116"></a>00116 {
56<a name="l00117"></a>00117 m_program = program;
57<a name="l00118"></a>00118 }
58<a name="l00119"></a>00119
59<a name="l00129"></a><a class="code" href="classCCPU.html#f7c34c0ba7230ecc980a5ff7730cdbae">00129</a> <span class="keyword">const</span> <a class="code" href="classCProgram.html">CProgram</a> *<a class="code" href="classCCPU.html#f7c34c0ba7230ecc980a5ff7730cdbae" title="get pointer to program">getProgram</a>()
60<a name="l00130"></a>00130 {
61<a name="l00131"></a>00131 <span class="keywordflow">return</span> m_program;
62<a name="l00132"></a>00132 }
63<a name="l00133"></a>00133
64<a name="l00143"></a><a class="code" href="classCCPU.html#aab308415ce3083eaa66b9aa1dcbb0c6">00143</a> <span class="keyword">const</span> std::set&lt;CDisplay *&gt;&amp; <a class="code" href="classCCPU.html#aab308415ce3083eaa66b9aa1dcbb0c6" title="get set of pointers to displays">getDisplays</a>()
65<a name="l00144"></a>00144 {
66<a name="l00145"></a>00145 <span class="keywordflow">return</span> m_displays;
67<a name="l00146"></a>00146 }
68<a name="l00147"></a>00147
69<a name="l00157"></a><a class="code" href="classCCPU.html#33c8a01cbafddb40cf9283109b3a0b08">00157</a> <span class="keywordtype">void</span> <a class="code" href="classCCPU.html#33c8a01cbafddb40cf9283109b3a0b08" title="set zero flag">setFlagZero</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> value)
70<a name="l00158"></a>00158 {
71<a name="l00159"></a>00159 m_flagzero = value;
72<a name="l00160"></a>00160 }
73<a name="l00161"></a>00161
74<a name="l00171"></a><a class="code" href="classCCPU.html#9398f58c5a715653c3502040029501a1">00171</a> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classCCPU.html#9398f58c5a715653c3502040029501a1" title="get value of zero flag">getFlagZero</a>()
75<a name="l00172"></a>00172 {
76<a name="l00173"></a>00173 <span class="keywordflow">return</span> m_flagzero;
77<a name="l00174"></a>00174 }
78<a name="l00175"></a>00175
79<a name="l00185"></a><a class="code" href="classCCPU.html#d8226c190477e2fbce0ddf7d814a272e">00185</a> <span class="keywordtype">void</span> <a class="code" href="classCCPU.html#d8226c190477e2fbce0ddf7d814a272e" title="set sign flag">setFlagSign</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> value)
80<a name="l00186"></a>00186 {
81<a name="l00187"></a>00187 m_flagsign = value;
82<a name="l00188"></a>00188 }
83<a name="l00189"></a>00189
84<a name="l00199"></a><a class="code" href="classCCPU.html#c3d7d2bf5f93aa2d7b6f5959b8448ea2">00199</a> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classCCPU.html#c3d7d2bf5f93aa2d7b6f5959b8448ea2" title="get value of sign flag">getFlagSign</a>()
85<a name="l00200"></a>00200 {
86<a name="l00201"></a>00201 <span class="keywordflow">return</span> m_flagsign;
87<a name="l00202"></a>00202 }
88<a name="l00203"></a>00203
89<a name="l00213"></a>00213 <span class="keywordtype">void</span> <a class="code" href="classCCPU.html#045df5c772702bdc1454fb90d512fb68" title="execute current program">run</a>();
90<a name="l00214"></a>00214
91<a name="l00215"></a>00215 <span class="preprocessor">#if DEBUG</span>
92<a name="l00216"></a>00216 <span class="preprocessor"></span>
93<a name="l00225"></a>00225 <span class="keywordtype">void</span> dumpRegisters(std::ostream&amp; out);
94<a name="l00226"></a>00226 <span class="preprocessor">#endif</span>
95<a name="l00227"></a>00227 <span class="preprocessor"></span>
96<a name="l00228"></a>00228 <span class="keyword">private</span>:
97<a name="l00229"></a>00229 <span class="comment">/* members */</span>
98<a name="l00230"></a>00230 <a class="code" href="classCDat.html">CDat</a> *m_registers;
99<a name="l00231"></a>00231 <span class="keywordtype">unsigned</span> m_regcnt;
100<a name="l00232"></a>00232 <a class="code" href="classCMem.html">CMem</a> *m_memory;
101<a name="l00233"></a>00233 <span class="keyword">const</span> <a class="code" href="classCProgram.html">CProgram</a> *m_program;
102<a name="l00234"></a>00234 std::set&lt;CDisplay *&gt; m_displays;
103<a name="l00235"></a>00235 <span class="keywordtype">bool</span> m_flagzero;
104<a name="l00236"></a>00236 <span class="keywordtype">bool</span> m_flagsign;
105<a name="l00237"></a>00237 };
106<a name="l00238"></a>00238
107<a name="l00239"></a>00239 <span class="preprocessor">#endif</span>
108<a name="l00240"></a>00240 <span class="preprocessor"></span>
109<a name="l00241"></a>00241 <span class="comment">/* vim: set et sw=2 ts=2: */</span>
110</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
111<a href="http://www.doxygen.org/index.html">
112<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
113</body>
114</html>
diff --git a/ue3/doxygen/cdat_8h-source.html b/ue3/doxygen/cdat_8h-source.html
new file mode 100644
index 0000000..5c40e9d
--- /dev/null
+++ b/ue3/doxygen/cdat_8h-source.html
@@ -0,0 +1,148 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: mycpu/cdat.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu/cdat.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17<a name="l00008"></a>00008 <span class="preprocessor">#ifndef CDAT_H</span>
18<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define CDAT_H 1</span>
19<a name="l00010"></a>00010 <span class="preprocessor"></span>
20<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;boost/operators.hpp&gt;</span>
21<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;iostream&gt;</span>
22<a name="l00013"></a>00013
23<a name="l00019"></a>00019 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
24<a name="l00020"></a><a class="code" href="classCDatT.html">00020</a> <span class="keyword">class </span><a class="code" href="classCDatT.html">CDatT</a>
25<a name="l00021"></a>00021 : boost::operators&lt;CDatT&lt;T&gt; &gt;
26<a name="l00022"></a>00022 {
27<a name="l00023"></a>00023 <span class="keyword">public</span>:
28<a name="l00033"></a><a class="code" href="classCDatT.html#afb8aa2eb6000ad2f54f31d6d5df57a4">00033</a> <a class="code" href="classCDatT.html#afb8aa2eb6000ad2f54f31d6d5df57a4" title="Default ctor.">CDatT</a>()
29<a name="l00034"></a>00034 {}
30<a name="l00035"></a>00035
31<a name="l00045"></a><a class="code" href="classCDatT.html#8ddaa1aaef85fea9e7c3613ccdc5a891">00045</a> <a class="code" href="classCDatT.html#8ddaa1aaef85fea9e7c3613ccdc5a891" title="Default dtor.">~CDatT</a>()
32<a name="l00046"></a>00046 {}
33<a name="l00047"></a>00047
34<a name="l00057"></a><a class="code" href="classCDatT.html#e3b0f226b03d2aec0f5bc4f970eb7f3f">00057</a> <a class="code" href="classCDatT.html#afb8aa2eb6000ad2f54f31d6d5df57a4" title="Default ctor.">CDatT</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; other)
35<a name="l00058"></a>00058 : m_value(other.m_value)
36<a name="l00059"></a>00059 {}
37<a name="l00060"></a>00060
38<a name="l00070"></a><a class="code" href="classCDatT.html#acdea447eebaf3c22a4d378328181f45">00070</a> <a class="code" href="classCDatT.html#afb8aa2eb6000ad2f54f31d6d5df57a4" title="Default ctor.">CDatT</a>(T newval)
39<a name="l00071"></a>00071 : m_value(newval)
40<a name="l00072"></a>00072 {}
41<a name="l00073"></a>00073
42<a name="l00083"></a><a class="code" href="classCDatT.html#8c226fb0b0974a0cbb7897d94f75e4e0">00083</a> T <a class="code" href="classCDatT.html#8c226fb0b0974a0cbb7897d94f75e4e0" title="returns value of CDatT">getValue</a>()<span class="keyword"> const</span>
43<a name="l00084"></a>00084 <span class="keyword"> </span>{
44<a name="l00085"></a>00085 <span class="keywordflow">return</span> m_value;
45<a name="l00086"></a>00086 }
46<a name="l00087"></a>00087
47<a name="l00097"></a><a class="code" href="classCDatT.html#5915d4f7de6dceea7d0d7253ce8ff5c9">00097</a> <a class="code" href="classCDatT.html#5915d4f7de6dceea7d0d7253ce8ff5c9" title="convert to T">operator T</a>()
48<a name="l00098"></a>00098 {
49<a name="l00099"></a>00099 <span class="keywordflow">return</span> m_value;
50<a name="l00100"></a>00100 }
51<a name="l00101"></a>00101
52<a name="l00111"></a><a class="code" href="classCDatT.html#acd2ef7a53a0c4b128485147171d0cbd">00111</a> <span class="keywordtype">bool</span> <a class="code" href="classCDatT.html#acd2ef7a53a0c4b128485147171d0cbd" title="implementation of operator &amp;lt;">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)<span class="keyword"> const</span>
53<a name="l00112"></a>00112 <span class="keyword"> </span>{
54<a name="l00113"></a>00113 <span class="keywordflow">return</span> m_value &lt; x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
55<a name="l00114"></a>00114 }
56<a name="l00115"></a>00115
57<a name="l00125"></a><a class="code" href="classCDatT.html#884afb7b0c4e972c25f12f6eff15177d">00125</a> <span class="keywordtype">bool</span> <a class="code" href="classCDatT.html#884afb7b0c4e972c25f12f6eff15177d" title="implementation of operator ==">operator==</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)<span class="keyword"> const</span>
58<a name="l00126"></a>00126 <span class="keyword"> </span>{
59<a name="l00127"></a>00127 <span class="keywordflow">return</span> m_value == x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
60<a name="l00128"></a>00128 }
61<a name="l00129"></a>00129
62<a name="l00139"></a><a class="code" href="classCDatT.html#f4f1e37bd94b17229dd0e181fcf41860">00139</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#f4f1e37bd94b17229dd0e181fcf41860" title="implementation of operator +=">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)
63<a name="l00140"></a>00140 {
64<a name="l00141"></a>00141 m_value += x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
65<a name="l00142"></a>00142 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
66<a name="l00143"></a>00143 }
67<a name="l00144"></a>00144
68<a name="l00154"></a><a class="code" href="classCDatT.html#24cf91d1ac4e0277547ec158ed35544a">00154</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#24cf91d1ac4e0277547ec158ed35544a" title="implementation of operator -=">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)
69<a name="l00155"></a>00155 {
70<a name="l00156"></a>00156 m_value -= x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
71<a name="l00157"></a>00157 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
72<a name="l00158"></a>00158 }
73<a name="l00159"></a>00159
74<a name="l00169"></a><a class="code" href="classCDatT.html#707446768fff0c8e9a56c4af874d0224">00169</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#707446768fff0c8e9a56c4af874d0224" title="implementation of operator *=">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)
75<a name="l00170"></a>00170 {
76<a name="l00171"></a>00171 m_value *= x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
77<a name="l00172"></a>00172 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
78<a name="l00173"></a>00173 }
79<a name="l00174"></a>00174
80<a name="l00184"></a><a class="code" href="classCDatT.html#c68e6cd45ae94ef7485650e72f07c49d">00184</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#c68e6cd45ae94ef7485650e72f07c49d" title="implementation of operator /=">operator/=</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)
81<a name="l00185"></a>00185 {
82<a name="l00186"></a>00186 m_value /= x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
83<a name="l00187"></a>00187 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
84<a name="l00188"></a>00188 }
85<a name="l00189"></a>00189
86<a name="l00199"></a><a class="code" href="classCDatT.html#403d947a670fcc25dc0ae4e00293cc33">00199</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#403d947a670fcc25dc0ae4e00293cc33" title="implementation of operator %=">operator%=</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)
87<a name="l00200"></a>00200 {
88<a name="l00201"></a>00201 m_value %= x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
89<a name="l00202"></a>00202 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
90<a name="l00203"></a>00203 }
91<a name="l00204"></a>00204
92<a name="l00214"></a><a class="code" href="classCDatT.html#f98140b24016e58307bf92b556157a13">00214</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#f98140b24016e58307bf92b556157a13" title="implementation of operator |=">operator|=</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)
93<a name="l00215"></a>00215 {
94<a name="l00216"></a>00216 m_value |= x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
95<a name="l00217"></a>00217 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
96<a name="l00218"></a>00218 }
97<a name="l00219"></a>00219
98<a name="l00229"></a><a class="code" href="classCDatT.html#3ec7b2fac8d93e51cd87acda04d7f41e">00229</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#3ec7b2fac8d93e51cd87acda04d7f41e" title="implementation of operator &amp;amp;=">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)
99<a name="l00230"></a>00230 {
100<a name="l00231"></a>00231 m_value &amp;= x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
101<a name="l00232"></a>00232 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
102<a name="l00233"></a>00233 }
103<a name="l00234"></a>00234
104<a name="l00244"></a><a class="code" href="classCDatT.html#03cf22edd6b2489e63be6cc846de789f">00244</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#03cf22edd6b2489e63be6cc846de789f" title="implementation of operator ^=">operator^=</a>(<span class="keyword">const</span> <a class="code" href="classCDatT.html">CDatT</a>&amp; x)
105<a name="l00245"></a>00245 {
106<a name="l00246"></a>00246 m_value ^= x.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
107<a name="l00247"></a>00247 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
108<a name="l00248"></a>00248 }
109<a name="l00249"></a>00249
110<a name="l00259"></a><a class="code" href="classCDatT.html#9a17a5e35049ad6a150ec800ddb81e64">00259</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#9a17a5e35049ad6a150ec800ddb81e64" title="implementation of operator ++">operator++</a>()
111<a name="l00260"></a>00260 {
112<a name="l00261"></a>00261 m_value++;
113<a name="l00262"></a>00262 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
114<a name="l00263"></a>00263 }
115<a name="l00264"></a>00264
116<a name="l00274"></a><a class="code" href="classCDatT.html#ec2be360ce61195c92db1ba4d2db0d8b">00274</a> <a class="code" href="classCDatT.html">CDatT</a>&amp; <a class="code" href="classCDatT.html#ec2be360ce61195c92db1ba4d2db0d8b" title="implementation of operator --">operator--</a>()
117<a name="l00275"></a>00275 {
118<a name="l00276"></a>00276 m_value--;
119<a name="l00277"></a>00277 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
120<a name="l00278"></a>00278 }
121<a name="l00279"></a>00279
122<a name="l00290"></a><a class="code" href="classCDatT.html#81465346cb4f31cf76336d46c512d0f6">00290</a> <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classCDatT.html#81465346cb4f31cf76336d46c512d0f6" title="Shift/output operator for outputstream.">operator&lt;&lt;</a>(std::ostream&amp; stream, <a class="code" href="classCDatT.html">CDatT</a> cdat)
123<a name="l00291"></a>00291 {
124<a name="l00292"></a>00292 stream &lt;&lt; cdat.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
125<a name="l00293"></a>00293 <span class="keywordflow">return</span> stream;
126<a name="l00294"></a>00294 }
127<a name="l00295"></a>00295
128<a name="l00306"></a><a class="code" href="classCDatT.html#16f0666a0b7c3383eb965daf48134fab">00306</a> <span class="keyword">friend</span> std::istream&amp; <a class="code" href="classCDatT.html#16f0666a0b7c3383eb965daf48134fab" title="Shift/read operator for inputstream.">operator&gt;&gt;</a>(std::istream &amp; stream, <a class="code" href="classCDatT.html">CDatT</a>&amp; cdat)
129<a name="l00307"></a>00307 {
130<a name="l00308"></a>00308 stream &gt;&gt; cdat.<a class="code" href="classCDatT.html#2d1af5bc14c1bc56a49c9dcee59e2eff">m_value</a>;
131<a name="l00309"></a>00309 <span class="keywordflow">return</span> stream;
132<a name="l00310"></a>00310 }
133<a name="l00311"></a>00311
134<a name="l00312"></a>00312 <span class="keyword">private</span>:
135<a name="l00313"></a>00313 <span class="comment">/* members */</span>
136<a name="l00314"></a>00314 T m_value;
137<a name="l00315"></a>00315 };
138<a name="l00316"></a>00316
139<a name="l00322"></a>00322 <span class="keyword">typedef</span> <a class="code" href="classCDatT.html">CDatT&lt;int&gt;</a> <a class="code" href="classCDat.html">CDat</a>;
140<a name="l00323"></a>00323
141<a name="l00324"></a>00324 <span class="preprocessor">#endif</span>
142<a name="l00325"></a>00325 <span class="preprocessor"></span>
143<a name="l00326"></a>00326 <span class="comment">/* vim: set et sw=2 ts=2: */</span>
144</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
145<a href="http://www.doxygen.org/index.html">
146<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
147</body>
148</html>
diff --git a/ue3/doxygen/cdisplay_8h-source.html b/ue3/doxygen/cdisplay_8h-source.html
new file mode 100644
index 0000000..b8c4ef3
--- /dev/null
+++ b/ue3/doxygen/cdisplay_8h-source.html
@@ -0,0 +1,52 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: mycpu/cdisplay.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu/cdisplay.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17<a name="l00008"></a>00008 <span class="preprocessor">#ifndef CDISPLAY_H</span>
18<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define CDISPLAY_H 1</span>
19<a name="l00010"></a>00010 <span class="preprocessor"></span>
20<a name="l00016"></a>00016 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
21<a name="l00017"></a><a class="code" href="classCDisplayT.html">00017</a> <span class="keyword">class </span><a class="code" href="classCDisplayT.html">CDisplayT</a>
22<a name="l00018"></a>00018 {
23<a name="l00019"></a>00019 <span class="keyword">public</span>:
24<a name="l00029"></a><a class="code" href="classCDisplayT.html#d65d27ce8533285525788f3cc534ff14">00029</a> <a class="code" href="classCDisplayT.html#d65d27ce8533285525788f3cc534ff14" title="Default ctor.">CDisplayT</a>(std::string name)
25<a name="l00030"></a>00030 : <a class="code" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">m_name</a>(name)
26<a name="l00031"></a>00031 {}
27<a name="l00032"></a>00032
28<a name="l00042"></a><a class="code" href="classCDisplayT.html#edeeab4320b2c3a5b482d216e73e5999">00042</a> <span class="keyword">virtual</span> <a class="code" href="classCDisplayT.html#edeeab4320b2c3a5b482d216e73e5999" title="Default dtor.">~CDisplayT</a>()
29<a name="l00043"></a>00043 {}
30<a name="l00044"></a>00044
31<a name="l00054"></a><a class="code" href="classCDisplayT.html#32897b9abaec6e9a0e73ae746ab5cec0">00054</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classCDisplayT.html#32897b9abaec6e9a0e73ae746ab5cec0" title="returns name of display">getName</a>()
32<a name="l00055"></a>00055 {
33<a name="l00056"></a>00056 <span class="keywordflow">return</span> <a class="code" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">m_name</a>;
34<a name="l00057"></a>00057 }
35<a name="l00058"></a>00058
36<a name="l00068"></a>00068 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCDisplayT.html#5a15f96d3d76bdbb2b172c52036859c2" title="prints value to display">display</a>(<span class="keyword">const</span> T &amp;value) = 0;
37<a name="l00069"></a>00069
38<a name="l00070"></a>00070 <span class="keyword">protected</span>:
39<a name="l00071"></a>00071 <span class="comment">/* members */</span>
40<a name="l00073"></a><a class="code" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">00073</a> std::string <a class="code" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">m_name</a>;
41<a name="l00074"></a>00074 };
42<a name="l00075"></a>00075
43<a name="l00081"></a>00081 <span class="keyword">typedef</span> <a class="code" href="classCDisplayT.html">CDisplayT&lt;CDat&gt;</a> <a class="code" href="classCDisplay.html">CDisplay</a>;
44<a name="l00082"></a>00082
45<a name="l00083"></a>00083 <span class="preprocessor">#endif</span>
46<a name="l00084"></a>00084 <span class="preprocessor"></span>
47<a name="l00085"></a>00085 <span class="comment">/* vim: set et sw=2 ts=2: */</span>
48</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
49<a href="http://www.doxygen.org/index.html">
50<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
51</body>
52</html>
diff --git a/ue3/doxygen/cinstruction_8h-source.html b/ue3/doxygen/cinstruction_8h-source.html
new file mode 100644
index 0000000..3055c9c
--- /dev/null
+++ b/ue3/doxygen/cinstruction_8h-source.html
@@ -0,0 +1,85 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: mycpu/cinstruction.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu/cinstruction.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17<a name="l00008"></a>00008 <span class="preprocessor">#ifndef CINSTRUCTION_H</span>
18<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define CINSTRUCTION_H 1</span>
19<a name="l00010"></a>00010 <span class="preprocessor"></span>
20<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;iostream&gt;</span>
21<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;list&gt;</span>
22<a name="l00013"></a>00013
23<a name="l00014"></a>00014 <span class="comment">/* forward declare CCPU */</span>
24<a name="l00015"></a>00015 <span class="keyword">class </span><a class="code" href="classCCPU.html">CCPU</a>;
25<a name="l00016"></a>00016
26<a name="l00022"></a><a class="code" href="classCInstruction.html">00022</a> <span class="keyword">class </span><a class="code" href="classCInstruction.html">CInstruction</a>
27<a name="l00023"></a>00023 {
28<a name="l00024"></a>00024 <span class="keyword">public</span>:
29<a name="l00034"></a><a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">00034</a> <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(std::string name)
30<a name="l00035"></a>00035 : <a class="code" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a>(name)
31<a name="l00036"></a>00036 {}
32<a name="l00037"></a>00037
33<a name="l00047"></a><a class="code" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">00047</a> <span class="keyword">virtual</span> <a class="code" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612" title="Default dtor.">~CInstruction</a>()
34<a name="l00048"></a>00048 {}
35<a name="l00049"></a>00049
36<a name="l00059"></a><a class="code" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">00059</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a" title="implementation of operator ==">operator==</a>(std::string&amp; name)
37<a name="l00060"></a>00060 {
38<a name="l00061"></a>00061 <span class="keywordflow">return</span> name == <a class="code" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a>;
39<a name="l00062"></a>00062 }
40<a name="l00063"></a>00063
41<a name="l00073"></a><a class="code" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">00073</a> <span class="keyword">virtual</span> <a class="code" href="classCInstruction.html">CInstruction</a>&amp; <a class="code" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43" title="implementation of operator (CCPU)">operator()</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu)
42<a name="l00074"></a>00074 {
43<a name="l00075"></a>00075 <a class="code" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1" title="executes the instruction">execute</a>(cpu);
44<a name="l00076"></a>00076 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
45<a name="l00077"></a>00077 }
46<a name="l00078"></a>00078
47<a name="l00088"></a><a class="code" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">00088</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44" title="returns instruction name">getName</a>()
48<a name="l00089"></a>00089 {
49<a name="l00090"></a>00090 <span class="keywordflow">return</span> <a class="code" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a>;
50<a name="l00091"></a>00091 }
51<a name="l00092"></a>00092
52<a name="l00102"></a><a class="code" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">00102</a> <span class="keyword">virtual</span> std::ostream&amp; <a class="code" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35" title="dumps information about instruction to outputstream">dump</a>(std::ostream&amp; stream)
53<a name="l00103"></a>00103 {
54<a name="l00104"></a>00104 stream &lt;&lt; <a class="code" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a>;
55<a name="l00105"></a>00105 <span class="keywordflow">return</span> stream;
56<a name="l00106"></a>00106 }
57<a name="l00107"></a>00107
58<a name="l00118"></a><a class="code" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">00118</a> <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d" title="Shift/output operator for outputstream.">operator&lt;&lt;</a>(std::ostream&amp; stream, <a class="code" href="classCInstruction.html">CInstruction</a>&amp; instr)
59<a name="l00119"></a>00119 {
60<a name="l00120"></a>00120 <span class="keywordflow">return</span> instr.<a class="code" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35" title="dumps information about instruction to outputstream">dump</a>(stream);
61<a name="l00121"></a>00121 }
62<a name="l00122"></a>00122
63<a name="l00132"></a>00132 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8" title="parses register syntax Rx (e.g. &amp;quot;R1&amp;quot;)">parseRegister</a>(<span class="keyword">const</span> std::string&amp; str);
64<a name="l00133"></a>00133
65<a name="l00145"></a>00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c" title="performs a register boundary check does the register exist in cpu?">checkRegister</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> regidx);
66<a name="l00146"></a>00146
67<a name="l00156"></a>00156 <span class="keyword">virtual</span> <a class="code" href="classCInstruction.html">CInstruction</a> *<a class="code" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc" title="creates a new instance of this instruction">factory</a>() = 0;
68<a name="l00157"></a>00157
69<a name="l00168"></a>00168 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params) = 0;
70<a name="l00169"></a>00169
71<a name="l00179"></a>00179 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu) = 0;
72<a name="l00180"></a>00180
73<a name="l00181"></a>00181 <span class="keyword">protected</span>:
74<a name="l00182"></a>00182 <span class="comment">/* members */</span>
75<a name="l00184"></a><a class="code" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">00184</a> std::string <a class="code" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a>;
76<a name="l00185"></a>00185 };
77<a name="l00186"></a>00186
78<a name="l00187"></a>00187 <span class="preprocessor">#endif</span>
79<a name="l00188"></a>00188 <span class="preprocessor"></span>
80<a name="l00189"></a>00189 <span class="comment">/* vim: set et sw=2 ts=2: */</span>
81</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
82<a href="http://www.doxygen.org/index.html">
83<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
84</body>
85</html>
diff --git a/ue3/doxygen/classCCPU-members.html b/ue3/doxygen/classCCPU-members.html
new file mode 100644
index 0000000..921d0e7
--- /dev/null
+++ b/ue3/doxygen/classCCPU-members.html
@@ -0,0 +1,42 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CCPU Member List</h1>This is the complete list of members for <a class="el" href="classCCPU.html">CCPU</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCCPU.html#12b0f403ddbfae0ff52cbf079b96395b">CCPU</a>(const unsigned cnt)</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCCPU.html#aab308415ce3083eaa66b9aa1dcbb0c6">getDisplays</a>()</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
26 <tr class="memlist"><td><a class="el" href="classCCPU.html#c3d7d2bf5f93aa2d7b6f5959b8448ea2">getFlagSign</a>()</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCCPU.html#9398f58c5a715653c3502040029501a1">getFlagZero</a>()</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCCPU.html#47e3302a8d9582b29a4d722735d8aa60">getMemory</a>() const </td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCCPU.html#f7c34c0ba7230ecc980a5ff7730cdbae">getProgram</a>()</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCCPU.html#b25ee10ea09dfe12d9e77e5eb2126d32">getRegisterCount</a>() const </td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCCPU.html#efe3e22919627e5daf525d11b13d5c44">getRegisters</a>() const </td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCCPU.html#045df5c772702bdc1454fb90d512fb68">run</a>()</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCCPU.html#d8226c190477e2fbce0ddf7d814a272e">setFlagSign</a>(const bool value)</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCCPU.html#33c8a01cbafddb40cf9283109b3a0b08">setFlagZero</a>(const bool value)</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCCPU.html#bb2644a658cbfbcdd7c579a2840cee67">setMemory</a>(CMem *memory)</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCCPU.html#3790f6567091892f8867329424d03f71">setProgram</a>(const CProgram *program)</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td><code> [inline]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCCPU.html#7523a3b0b832774c3df57bd019273a68">~CCPU</a>()</td><td><a class="el" href="classCCPU.html">CCPU</a></td><td></td></tr>
38</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
39<a href="http://www.doxygen.org/index.html">
40<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
41</body>
42</html>
diff --git a/ue3/doxygen/classCCPU.html b/ue3/doxygen/classCCPU.html
new file mode 100644
index 0000000..c888360
--- /dev/null
+++ b/ue3/doxygen/classCCPU.html
@@ -0,0 +1,578 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CCPU Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CCPU Class Reference</h1><!-- doxytag: class="CCPU" --><code>#include &lt;<a class="el" href="ccpu_8h-source.html">ccpu.h</a>&gt;</code>
24<p>
25
26<p>
27<a href="classCCPU-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
28<tr><td></td></tr>
29<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
30<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#12b0f403ddbfae0ff52cbf079b96395b">CCPU</a> (const unsigned cnt)</td></tr>
31
32<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default ctor. <a href="#12b0f403ddbfae0ff52cbf079b96395b"></a><br></td></tr>
33<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#7523a3b0b832774c3df57bd019273a68">~CCPU</a> ()</td></tr>
34
35<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default dtor. <a href="#7523a3b0b832774c3df57bd019273a68"></a><br></td></tr>
36<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#b25ee10ea09dfe12d9e77e5eb2126d32">getRegisterCount</a> () const </td></tr>
37
38<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get number of registers <a href="#b25ee10ea09dfe12d9e77e5eb2126d32"></a><br></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDat.html">CDat</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#efe3e22919627e5daf525d11b13d5c44">getRegisters</a> () const </td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get pointer to registers array <a href="#efe3e22919627e5daf525d11b13d5c44"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#bb2644a658cbfbcdd7c579a2840cee67">setMemory</a> (<a class="el" href="classCMem.html">CMem</a> *memory)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set memory of cpu <a href="#bb2644a658cbfbcdd7c579a2840cee67"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCMem.html">CMem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#47e3302a8d9582b29a4d722735d8aa60">getMemory</a> () const </td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get pointer to memory <a href="#47e3302a8d9582b29a4d722735d8aa60"></a><br></td></tr>
48<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#3790f6567091892f8867329424d03f71">setProgram</a> (const <a class="el" href="classCProgram.html">CProgram</a> *program)</td></tr>
49
50<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set program to execute <a href="#3790f6567091892f8867329424d03f71"></a><br></td></tr>
51<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classCProgram.html">CProgram</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#f7c34c0ba7230ecc980a5ff7730cdbae">getProgram</a> ()</td></tr>
52
53<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get pointer to program <a href="#f7c34c0ba7230ecc980a5ff7730cdbae"></a><br></td></tr>
54<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::set<br>
55&lt; <a class="el" href="classCDisplay.html">CDisplay</a> * &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#aab308415ce3083eaa66b9aa1dcbb0c6">getDisplays</a> ()</td></tr>
56
57<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get set of pointers to displays <a href="#aab308415ce3083eaa66b9aa1dcbb0c6"></a><br></td></tr>
58<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#33c8a01cbafddb40cf9283109b3a0b08">setFlagZero</a> (const bool value)</td></tr>
59
60<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set zero flag <a href="#33c8a01cbafddb40cf9283109b3a0b08"></a><br></td></tr>
61<tr><td class="memItemLeft" nowrap align="right" valign="top">const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#9398f58c5a715653c3502040029501a1">getFlagZero</a> ()</td></tr>
62
63<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get value of zero flag <a href="#9398f58c5a715653c3502040029501a1"></a><br></td></tr>
64<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#d8226c190477e2fbce0ddf7d814a272e">setFlagSign</a> (const bool value)</td></tr>
65
66<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set sign flag <a href="#d8226c190477e2fbce0ddf7d814a272e"></a><br></td></tr>
67<tr><td class="memItemLeft" nowrap align="right" valign="top">const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#c3d7d2bf5f93aa2d7b6f5959b8448ea2">getFlagSign</a> ()</td></tr>
68
69<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get value of sign flag <a href="#c3d7d2bf5f93aa2d7b6f5959b8448ea2"></a><br></td></tr>
70<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCPU.html#045df5c772702bdc1454fb90d512fb68">run</a> ()</td></tr>
71
72<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">execute current program <a href="#045df5c772702bdc1454fb90d512fb68"></a><br></td></tr>
73</table>
74<hr><a name="_details"></a><h2>Detailed Description</h2>
75CPU implementation. Used as a container for memory and instructions. Implements a run method to execute the program (= the instructions). <hr><h2>Constructor &amp; Destructor Documentation</h2>
76<a class="anchor" name="12b0f403ddbfae0ff52cbf079b96395b"></a><!-- doxytag: member="CCPU::CCPU" ref="12b0f403ddbfae0ff52cbf079b96395b" args="(const unsigned cnt)" -->
77<div class="memitem">
78<div class="memproto">
79 <table class="memname">
80 <tr>
81 <td class="memname">CCPU::CCPU </td>
82 <td>(</td>
83 <td class="paramtype">const unsigned&nbsp;</td>
84 <td class="paramname"> <em>cnt</em> </td>
85 <td>&nbsp;)&nbsp;</td>
86 <td width="100%"></td>
87 </tr>
88 </table>
89</div>
90<div class="memdoc">
91
92<p>
93Default ctor.
94<p>
95<dl class="user" compact><dt><b>Methodname:</b></dt><dd><a class="el" href="classCCPU.html">CCPU</a> </dd></dl>
96<dl compact><dt><b>Parameters:</b></dt><dd>
97 <table border="0" cellspacing="2" cellpadding="0">
98 <tr><td valign="top"></td><td valign="top"><em>cnt</em>&nbsp;</td><td>number of registers to allocate for this cpu </td></tr>
99 </table>
100</dl>
101<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
102<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
103<dl compact><dt><b>Exceptions:</b></dt><dd>
104 <table border="0" cellspacing="2" cellpadding="0">
105 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
106 </table>
107</dl>
108<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
109
110</div>
111</div><p>
112<a class="anchor" name="7523a3b0b832774c3df57bd019273a68"></a><!-- doxytag: member="CCPU::~CCPU" ref="7523a3b0b832774c3df57bd019273a68" args="()" -->
113<div class="memitem">
114<div class="memproto">
115 <table class="memname">
116 <tr>
117 <td class="memname">CCPU::~CCPU </td>
118 <td>(</td>
119 <td class="paramname"> </td>
120 <td>&nbsp;)&nbsp;</td>
121 <td width="100%"></td>
122 </tr>
123 </table>
124</div>
125<div class="memdoc">
126
127<p>
128Default dtor.
129<p>
130<dl class="user" compact><dt><b>Methodname:</b></dt><dd>~CCPU </dd></dl>
131<dl compact><dt><b>Parameters:</b></dt><dd>
132 <table border="0" cellspacing="2" cellpadding="0">
133 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
134 </table>
135</dl>
136<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
137<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
138<dl compact><dt><b>Exceptions:</b></dt><dd>
139 <table border="0" cellspacing="2" cellpadding="0">
140 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
141 </table>
142</dl>
143<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
144
145</div>
146</div><p>
147<hr><h2>Member Function Documentation</h2>
148<a class="anchor" name="b25ee10ea09dfe12d9e77e5eb2126d32"></a><!-- doxytag: member="CCPU::getRegisterCount" ref="b25ee10ea09dfe12d9e77e5eb2126d32" args="() const " -->
149<div class="memitem">
150<div class="memproto">
151 <table class="memname">
152 <tr>
153 <td class="memname">const unsigned CCPU::getRegisterCount </td>
154 <td>(</td>
155 <td class="paramname"> </td>
156 <td>&nbsp;)&nbsp;</td>
157 <td width="100%"> const<code> [inline]</code></td>
158 </tr>
159 </table>
160</div>
161<div class="memdoc">
162
163<p>
164get number of registers
165<p>
166<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getRegisterCount </dd></dl>
167<dl compact><dt><b>Parameters:</b></dt><dd>
168 <table border="0" cellspacing="2" cellpadding="0">
169 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
170 </table>
171</dl>
172<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of registers </dd></dl>
173<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
174<dl compact><dt><b>Exceptions:</b></dt><dd>
175 <table border="0" cellspacing="2" cellpadding="0">
176 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
177 </table>
178</dl>
179<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
180
181</div>
182</div><p>
183<a class="anchor" name="efe3e22919627e5daf525d11b13d5c44"></a><!-- doxytag: member="CCPU::getRegisters" ref="efe3e22919627e5daf525d11b13d5c44" args="() const " -->
184<div class="memitem">
185<div class="memproto">
186 <table class="memname">
187 <tr>
188 <td class="memname"><a class="el" href="classCDat.html">CDat</a>* CCPU::getRegisters </td>
189 <td>(</td>
190 <td class="paramname"> </td>
191 <td>&nbsp;)&nbsp;</td>
192 <td width="100%"> const<code> [inline]</code></td>
193 </tr>
194 </table>
195</div>
196<div class="memdoc">
197
198<p>
199get pointer to registers array
200<p>
201<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getRegisters </dd></dl>
202<dl compact><dt><b>Parameters:</b></dt><dd>
203 <table border="0" cellspacing="2" cellpadding="0">
204 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
205 </table>
206</dl>
207<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to registers array </dd></dl>
208<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
209<dl compact><dt><b>Exceptions:</b></dt><dd>
210 <table border="0" cellspacing="2" cellpadding="0">
211 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
212 </table>
213</dl>
214<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
215
216</div>
217</div><p>
218<a class="anchor" name="bb2644a658cbfbcdd7c579a2840cee67"></a><!-- doxytag: member="CCPU::setMemory" ref="bb2644a658cbfbcdd7c579a2840cee67" args="(CMem *memory)" -->
219<div class="memitem">
220<div class="memproto">
221 <table class="memname">
222 <tr>
223 <td class="memname">void CCPU::setMemory </td>
224 <td>(</td>
225 <td class="paramtype"><a class="el" href="classCMem.html">CMem</a> *&nbsp;</td>
226 <td class="paramname"> <em>memory</em> </td>
227 <td>&nbsp;)&nbsp;</td>
228 <td width="100%"><code> [inline]</code></td>
229 </tr>
230 </table>
231</div>
232<div class="memdoc">
233
234<p>
235set memory of cpu
236<p>
237<dl class="user" compact><dt><b>Methodname:</b></dt><dd>setMemory </dd></dl>
238<dl compact><dt><b>Parameters:</b></dt><dd>
239 <table border="0" cellspacing="2" cellpadding="0">
240 <tr><td valign="top"></td><td valign="top"><em>memory</em>&nbsp;</td><td>pointer to memory </td></tr>
241 </table>
242</dl>
243<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
244<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
245<dl compact><dt><b>Exceptions:</b></dt><dd>
246 <table border="0" cellspacing="2" cellpadding="0">
247 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
248 </table>
249</dl>
250<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
251
252</div>
253</div><p>
254<a class="anchor" name="47e3302a8d9582b29a4d722735d8aa60"></a><!-- doxytag: member="CCPU::getMemory" ref="47e3302a8d9582b29a4d722735d8aa60" args="() const " -->
255<div class="memitem">
256<div class="memproto">
257 <table class="memname">
258 <tr>
259 <td class="memname"><a class="el" href="classCMem.html">CMem</a>* CCPU::getMemory </td>
260 <td>(</td>
261 <td class="paramname"> </td>
262 <td>&nbsp;)&nbsp;</td>
263 <td width="100%"> const<code> [inline]</code></td>
264 </tr>
265 </table>
266</div>
267<div class="memdoc">
268
269<p>
270get pointer to memory
271<p>
272<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getMemory </dd></dl>
273<dl compact><dt><b>Parameters:</b></dt><dd>
274 <table border="0" cellspacing="2" cellpadding="0">
275 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
276 </table>
277</dl>
278<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to memory </dd></dl>
279<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
280<dl compact><dt><b>Exceptions:</b></dt><dd>
281 <table border="0" cellspacing="2" cellpadding="0">
282 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
283 </table>
284</dl>
285<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
286
287</div>
288</div><p>
289<a class="anchor" name="3790f6567091892f8867329424d03f71"></a><!-- doxytag: member="CCPU::setProgram" ref="3790f6567091892f8867329424d03f71" args="(const CProgram *program)" -->
290<div class="memitem">
291<div class="memproto">
292 <table class="memname">
293 <tr>
294 <td class="memname">void CCPU::setProgram </td>
295 <td>(</td>
296 <td class="paramtype">const <a class="el" href="classCProgram.html">CProgram</a> *&nbsp;</td>
297 <td class="paramname"> <em>program</em> </td>
298 <td>&nbsp;)&nbsp;</td>
299 <td width="100%"><code> [inline]</code></td>
300 </tr>
301 </table>
302</div>
303<div class="memdoc">
304
305<p>
306set program to execute
307<p>
308<dl class="user" compact><dt><b>Methodname:</b></dt><dd>setProgram </dd></dl>
309<dl compact><dt><b>Parameters:</b></dt><dd>
310 <table border="0" cellspacing="2" cellpadding="0">
311 <tr><td valign="top"></td><td valign="top"><em>program</em>&nbsp;</td><td>pointer to program </td></tr>
312 </table>
313</dl>
314<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
315<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
316<dl compact><dt><b>Exceptions:</b></dt><dd>
317 <table border="0" cellspacing="2" cellpadding="0">
318 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
319 </table>
320</dl>
321<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
322
323</div>
324</div><p>
325<a class="anchor" name="f7c34c0ba7230ecc980a5ff7730cdbae"></a><!-- doxytag: member="CCPU::getProgram" ref="f7c34c0ba7230ecc980a5ff7730cdbae" args="()" -->
326<div class="memitem">
327<div class="memproto">
328 <table class="memname">
329 <tr>
330 <td class="memname">const <a class="el" href="classCProgram.html">CProgram</a>* CCPU::getProgram </td>
331 <td>(</td>
332 <td class="paramname"> </td>
333 <td>&nbsp;)&nbsp;</td>
334 <td width="100%"><code> [inline]</code></td>
335 </tr>
336 </table>
337</div>
338<div class="memdoc">
339
340<p>
341get pointer to program
342<p>
343<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getProgram </dd></dl>
344<dl compact><dt><b>Parameters:</b></dt><dd>
345 <table border="0" cellspacing="2" cellpadding="0">
346 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
347 </table>
348</dl>
349<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to program </dd></dl>
350<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
351<dl compact><dt><b>Exceptions:</b></dt><dd>
352 <table border="0" cellspacing="2" cellpadding="0">
353 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
354 </table>
355</dl>
356<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
357
358</div>
359</div><p>
360<a class="anchor" name="aab308415ce3083eaa66b9aa1dcbb0c6"></a><!-- doxytag: member="CCPU::getDisplays" ref="aab308415ce3083eaa66b9aa1dcbb0c6" args="()" -->
361<div class="memitem">
362<div class="memproto">
363 <table class="memname">
364 <tr>
365 <td class="memname">const std::set&lt;<a class="el" href="classCDisplay.html">CDisplay</a> *&gt;&amp; CCPU::getDisplays </td>
366 <td>(</td>
367 <td class="paramname"> </td>
368 <td>&nbsp;)&nbsp;</td>
369 <td width="100%"><code> [inline]</code></td>
370 </tr>
371 </table>
372</div>
373<div class="memdoc">
374
375<p>
376get set of pointers to displays
377<p>
378<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getDisplays </dd></dl>
379<dl compact><dt><b>Parameters:</b></dt><dd>
380 <table border="0" cellspacing="2" cellpadding="0">
381 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
382 </table>
383</dl>
384<dl class="return" compact><dt><b>Returns:</b></dt><dd>reference to set of pointers to displays </dd></dl>
385<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
386<dl compact><dt><b>Exceptions:</b></dt><dd>
387 <table border="0" cellspacing="2" cellpadding="0">
388 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
389 </table>
390</dl>
391<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
392
393</div>
394</div><p>
395<a class="anchor" name="33c8a01cbafddb40cf9283109b3a0b08"></a><!-- doxytag: member="CCPU::setFlagZero" ref="33c8a01cbafddb40cf9283109b3a0b08" args="(const bool value)" -->
396<div class="memitem">
397<div class="memproto">
398 <table class="memname">
399 <tr>
400 <td class="memname">void CCPU::setFlagZero </td>
401 <td>(</td>
402 <td class="paramtype">const bool&nbsp;</td>
403 <td class="paramname"> <em>value</em> </td>
404 <td>&nbsp;)&nbsp;</td>
405 <td width="100%"><code> [inline]</code></td>
406 </tr>
407 </table>
408</div>
409<div class="memdoc">
410
411<p>
412set zero flag
413<p>
414<dl class="user" compact><dt><b>Methodname:</b></dt><dd>setFlagZero </dd></dl>
415<dl compact><dt><b>Parameters:</b></dt><dd>
416 <table border="0" cellspacing="2" cellpadding="0">
417 <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>new value of zero flag </td></tr>
418 </table>
419</dl>
420<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
421<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
422<dl compact><dt><b>Exceptions:</b></dt><dd>
423 <table border="0" cellspacing="2" cellpadding="0">
424 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
425 </table>
426</dl>
427<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
428
429</div>
430</div><p>
431<a class="anchor" name="9398f58c5a715653c3502040029501a1"></a><!-- doxytag: member="CCPU::getFlagZero" ref="9398f58c5a715653c3502040029501a1" args="()" -->
432<div class="memitem">
433<div class="memproto">
434 <table class="memname">
435 <tr>
436 <td class="memname">const bool CCPU::getFlagZero </td>
437 <td>(</td>
438 <td class="paramname"> </td>
439 <td>&nbsp;)&nbsp;</td>
440 <td width="100%"><code> [inline]</code></td>
441 </tr>
442 </table>
443</div>
444<div class="memdoc">
445
446<p>
447get value of zero flag
448<p>
449<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getFlagZero </dd></dl>
450<dl compact><dt><b>Parameters:</b></dt><dd>
451 <table border="0" cellspacing="2" cellpadding="0">
452 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
453 </table>
454</dl>
455<dl class="return" compact><dt><b>Returns:</b></dt><dd>value of zero flag </dd></dl>
456<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
457<dl compact><dt><b>Exceptions:</b></dt><dd>
458 <table border="0" cellspacing="2" cellpadding="0">
459 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
460 </table>
461</dl>
462<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
463
464</div>
465</div><p>
466<a class="anchor" name="d8226c190477e2fbce0ddf7d814a272e"></a><!-- doxytag: member="CCPU::setFlagSign" ref="d8226c190477e2fbce0ddf7d814a272e" args="(const bool value)" -->
467<div class="memitem">
468<div class="memproto">
469 <table class="memname">
470 <tr>
471 <td class="memname">void CCPU::setFlagSign </td>
472 <td>(</td>
473 <td class="paramtype">const bool&nbsp;</td>
474 <td class="paramname"> <em>value</em> </td>
475 <td>&nbsp;)&nbsp;</td>
476 <td width="100%"><code> [inline]</code></td>
477 </tr>
478 </table>
479</div>
480<div class="memdoc">
481
482<p>
483set sign flag
484<p>
485<dl class="user" compact><dt><b>Methodname:</b></dt><dd>setFlagSign </dd></dl>
486<dl compact><dt><b>Parameters:</b></dt><dd>
487 <table border="0" cellspacing="2" cellpadding="0">
488 <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>new value of sign flag </td></tr>
489 </table>
490</dl>
491<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
492<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
493<dl compact><dt><b>Exceptions:</b></dt><dd>
494 <table border="0" cellspacing="2" cellpadding="0">
495 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
496 </table>
497</dl>
498<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
499
500</div>
501</div><p>
502<a class="anchor" name="c3d7d2bf5f93aa2d7b6f5959b8448ea2"></a><!-- doxytag: member="CCPU::getFlagSign" ref="c3d7d2bf5f93aa2d7b6f5959b8448ea2" args="()" -->
503<div class="memitem">
504<div class="memproto">
505 <table class="memname">
506 <tr>
507 <td class="memname">const bool CCPU::getFlagSign </td>
508 <td>(</td>
509 <td class="paramname"> </td>
510 <td>&nbsp;)&nbsp;</td>
511 <td width="100%"><code> [inline]</code></td>
512 </tr>
513 </table>
514</div>
515<div class="memdoc">
516
517<p>
518get value of sign flag
519<p>
520<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getFlagSign </dd></dl>
521<dl compact><dt><b>Parameters:</b></dt><dd>
522 <table border="0" cellspacing="2" cellpadding="0">
523 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
524 </table>
525</dl>
526<dl class="return" compact><dt><b>Returns:</b></dt><dd>value of sign flag </dd></dl>
527<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
528<dl compact><dt><b>Exceptions:</b></dt><dd>
529 <table border="0" cellspacing="2" cellpadding="0">
530 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
531 </table>
532</dl>
533<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
534
535</div>
536</div><p>
537<a class="anchor" name="045df5c772702bdc1454fb90d512fb68"></a><!-- doxytag: member="CCPU::run" ref="045df5c772702bdc1454fb90d512fb68" args="()" -->
538<div class="memitem">
539<div class="memproto">
540 <table class="memname">
541 <tr>
542 <td class="memname">void CCPU::run </td>
543 <td>(</td>
544 <td class="paramname"> </td>
545 <td>&nbsp;)&nbsp;</td>
546 <td width="100%"></td>
547 </tr>
548 </table>
549</div>
550<div class="memdoc">
551
552<p>
553execute current program
554<p>
555<dl class="user" compact><dt><b>Methodname:</b></dt><dd>run </dd></dl>
556<dl compact><dt><b>Parameters:</b></dt><dd>
557 <table border="0" cellspacing="2" cellpadding="0">
558 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
559 </table>
560</dl>
561<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
562<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
563<dl compact><dt><b>Exceptions:</b></dt><dd>
564 <table border="0" cellspacing="2" cellpadding="0">
565 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
566 </table>
567</dl>
568<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
569
570</div>
571</div><p>
572<hr>The documentation for this class was generated from the following files:<ul>
573<li>mycpu/<a class="el" href="ccpu_8h-source.html">ccpu.h</a><li>mycpu/ccpu.cpp</ul>
574<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
575<a href="http://www.doxygen.org/index.html">
576<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
577</body>
578</html>
diff --git a/ue3/doxygen/classCDat.html b/ue3/doxygen/classCDat.html
new file mode 100644
index 0000000..198ebc0
--- /dev/null
+++ b/ue3/doxygen/classCDat.html
@@ -0,0 +1,35 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CDat Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDat Class Reference</h1><!-- doxytag: class="CDat" --><code>#include &lt;<a class="el" href="cdat_8h-source.html">cdat.h</a>&gt;</code>
24<p>
25<table border="0" cellpadding="0" cellspacing="0">
26<tr><td></td></tr>
27</table>
28<hr><a name="_details"></a><h2>Detailed Description</h2>
29Datatype for <a class="el" href="classCCPU.html">CCPU</a> and <a class="el" href="classCMem.html">CMem</a> <hr>The documentation for this class was generated from the following file:<ul>
30<li>mycpu/<a class="el" href="cdat_8h-source.html">cdat.h</a></ul>
31<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
32<a href="http://www.doxygen.org/index.html">
33<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
34</body>
35</html>
diff --git a/ue3/doxygen/classCDatT-members.html b/ue3/doxygen/classCDatT-members.html
new file mode 100644
index 0000000..a10a4d1
--- /dev/null
+++ b/ue3/doxygen/classCDatT-members.html
@@ -0,0 +1,48 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDatT&lt; T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCDatT.html#afb8aa2eb6000ad2f54f31d6d5df57a4">CDatT</a>()</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCDatT.html#e3b0f226b03d2aec0f5bc4f970eb7f3f">CDatT</a>(const CDatT &amp;other)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
26 <tr class="memlist"><td><a class="el" href="classCDatT.html#acdea447eebaf3c22a4d378328181f45">CDatT</a>(T newval)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCDatT.html#8c226fb0b0974a0cbb7897d94f75e4e0">getValue</a>() const </td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCDatT.html#3ec7b2fac8d93e51cd87acda04d7f41e">operator &amp;=</a>(const CDatT &amp;x)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCDatT.html#707446768fff0c8e9a56c4af874d0224">operator *=</a>(const CDatT &amp;x)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCDatT.html#5915d4f7de6dceea7d0d7253ce8ff5c9">operator T</a>()</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCDatT.html#403d947a670fcc25dc0ae4e00293cc33">operator%=</a>(const CDatT &amp;x)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCDatT.html#9a17a5e35049ad6a150ec800ddb81e64">operator++</a>()</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCDatT.html#f4f1e37bd94b17229dd0e181fcf41860">operator+=</a>(const CDatT &amp;x)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCDatT.html#ec2be360ce61195c92db1ba4d2db0d8b">operator--</a>()</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCDatT.html#24cf91d1ac4e0277547ec158ed35544a">operator-=</a>(const CDatT &amp;x)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCDatT.html#c68e6cd45ae94ef7485650e72f07c49d">operator/=</a>(const CDatT &amp;x)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCDatT.html#acd2ef7a53a0c4b128485147171d0cbd">operator&lt;</a>(const CDatT &amp;x) const </td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCDatT.html#81465346cb4f31cf76336d46c512d0f6">operator&lt;&lt;</a>(std::ostream &amp;stream, CDatT cdat)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [friend]</code></td></tr>
39 <tr class="memlist"><td><a class="el" href="classCDatT.html#884afb7b0c4e972c25f12f6eff15177d">operator==</a>(const CDatT &amp;x) const </td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
40 <tr class="memlist"><td><a class="el" href="classCDatT.html#16f0666a0b7c3383eb965daf48134fab">operator&gt;&gt;</a>(std::istream &amp;stream, CDatT &amp;cdat)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [friend]</code></td></tr>
41 <tr class="memlist"><td><a class="el" href="classCDatT.html#03cf22edd6b2489e63be6cc846de789f">operator^=</a>(const CDatT &amp;x)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
42 <tr class="memlist"><td><a class="el" href="classCDatT.html#f98140b24016e58307bf92b556157a13">operator|=</a>(const CDatT &amp;x)</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
43 <tr class="memlist"><td><a class="el" href="classCDatT.html#8ddaa1aaef85fea9e7c3613ccdc5a891">~CDatT</a>()</td><td><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
44</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
45<a href="http://www.doxygen.org/index.html">
46<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
47</body>
48</html>
diff --git a/ue3/doxygen/classCDatT.html b/ue3/doxygen/classCDatT.html
new file mode 100644
index 0000000..017eda0
--- /dev/null
+++ b/ue3/doxygen/classCDatT.html
@@ -0,0 +1,879 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CDatT&lt; T &gt; Class Template Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDatT&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="CDatT" --><code>#include &lt;<a class="el" href="cdat_8h-source.html">cdat.h</a>&gt;</code>
24<p>
25
26<p>
27<a href="classCDatT-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
28<tr><td></td></tr>
29<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
30<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#afb8aa2eb6000ad2f54f31d6d5df57a4">CDatT</a> ()</td></tr>
31
32<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default ctor. <a href="#afb8aa2eb6000ad2f54f31d6d5df57a4"></a><br></td></tr>
33<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#8ddaa1aaef85fea9e7c3613ccdc5a891">~CDatT</a> ()</td></tr>
34
35<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default dtor. <a href="#8ddaa1aaef85fea9e7c3613ccdc5a891"></a><br></td></tr>
36<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#e3b0f226b03d2aec0f5bc4f970eb7f3f">CDatT</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;other)</td></tr>
37
38<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor for <a class="el" href="classCDatT.html">CDatT</a>. <a href="#e3b0f226b03d2aec0f5bc4f970eb7f3f"></a><br></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#acdea447eebaf3c22a4d378328181f45">CDatT</a> (T newval)</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor for int. <a href="#acdea447eebaf3c22a4d378328181f45"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#8c226fb0b0974a0cbb7897d94f75e4e0">getValue</a> () const </td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns value of <a class="el" href="classCDatT.html">CDatT</a> <a href="#8c226fb0b0974a0cbb7897d94f75e4e0"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#5915d4f7de6dceea7d0d7253ce8ff5c9">operator T</a> ()</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">convert to T <a href="#5915d4f7de6dceea7d0d7253ce8ff5c9"></a><br></td></tr>
48<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#acd2ef7a53a0c4b128485147171d0cbd">operator&lt;</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x) const </td></tr>
49
50<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator &lt; <a href="#acd2ef7a53a0c4b128485147171d0cbd"></a><br></td></tr>
51<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#884afb7b0c4e972c25f12f6eff15177d">operator==</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x) const </td></tr>
52
53<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator == <a href="#884afb7b0c4e972c25f12f6eff15177d"></a><br></td></tr>
54<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#f4f1e37bd94b17229dd0e181fcf41860">operator+=</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x)</td></tr>
55
56<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator += <a href="#f4f1e37bd94b17229dd0e181fcf41860"></a><br></td></tr>
57<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#24cf91d1ac4e0277547ec158ed35544a">operator-=</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x)</td></tr>
58
59<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator -= <a href="#24cf91d1ac4e0277547ec158ed35544a"></a><br></td></tr>
60<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#707446768fff0c8e9a56c4af874d0224">operator *=</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x)</td></tr>
61
62<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator *= <a href="#707446768fff0c8e9a56c4af874d0224"></a><br></td></tr>
63<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#c68e6cd45ae94ef7485650e72f07c49d">operator/=</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x)</td></tr>
64
65<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator /= <a href="#c68e6cd45ae94ef7485650e72f07c49d"></a><br></td></tr>
66<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#403d947a670fcc25dc0ae4e00293cc33">operator%=</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x)</td></tr>
67
68<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator %= <a href="#403d947a670fcc25dc0ae4e00293cc33"></a><br></td></tr>
69<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#f98140b24016e58307bf92b556157a13">operator|=</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x)</td></tr>
70
71<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator |= <a href="#f98140b24016e58307bf92b556157a13"></a><br></td></tr>
72<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#3ec7b2fac8d93e51cd87acda04d7f41e">operator &amp;=</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x)</td></tr>
73
74<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator &amp;= <a href="#3ec7b2fac8d93e51cd87acda04d7f41e"></a><br></td></tr>
75<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#03cf22edd6b2489e63be6cc846de789f">operator^=</a> (const <a class="el" href="classCDatT.html">CDatT</a> &amp;x)</td></tr>
76
77<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator ^= <a href="#03cf22edd6b2489e63be6cc846de789f"></a><br></td></tr>
78<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#9a17a5e35049ad6a150ec800ddb81e64">operator++</a> ()</td></tr>
79
80<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator ++ <a href="#9a17a5e35049ad6a150ec800ddb81e64"></a><br></td></tr>
81<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCDatT.html">CDatT</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#ec2be360ce61195c92db1ba4d2db0d8b">operator--</a> ()</td></tr>
82
83<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator -- <a href="#ec2be360ce61195c92db1ba4d2db0d8b"></a><br></td></tr>
84<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
85<tr><td class="memItemLeft" nowrap align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#81465346cb4f31cf76336d46c512d0f6">operator&lt;&lt;</a> (std::ostream &amp;stream, <a class="el" href="classCDatT.html">CDatT</a> cdat)</td></tr>
86
87<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift/output operator for outputstream. <a href="#81465346cb4f31cf76336d46c512d0f6"></a><br></td></tr>
88<tr><td class="memItemLeft" nowrap align="right" valign="top">std::istream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDatT.html#16f0666a0b7c3383eb965daf48134fab">operator&gt;&gt;</a> (std::istream &amp;stream, <a class="el" href="classCDatT.html">CDatT</a> &amp;cdat)</td></tr>
89
90<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift/read operator for inputstream. <a href="#16f0666a0b7c3383eb965daf48134fab"></a><br></td></tr>
91</table>
92<hr><a name="_details"></a><h2>Detailed Description</h2>
93<h3>template&lt;class T&gt;<br>
94 class CDatT&lt; T &gt;</h3>
95
96Datatype template for <a class="el" href="classCCPU.html">CCPU</a> and <a class="el" href="classCMem.html">CMem</a>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
97<a class="anchor" name="afb8aa2eb6000ad2f54f31d6d5df57a4"></a><!-- doxytag: member="CDatT::CDatT" ref="afb8aa2eb6000ad2f54f31d6d5df57a4" args="()" -->
98<div class="memitem">
99<div class="memproto">
100<div class="memtemplate">
101template&lt;class T&gt; </div>
102 <table class="memname">
103 <tr>
104 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::<a class="el" href="classCDatT.html">CDatT</a> </td>
105 <td>(</td>
106 <td class="paramname"> </td>
107 <td>&nbsp;)&nbsp;</td>
108 <td width="100%"><code> [inline]</code></td>
109 </tr>
110 </table>
111</div>
112<div class="memdoc">
113
114<p>
115Default ctor.
116<p>
117<dl class="user" compact><dt><b>Methodname:</b></dt><dd><a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
118<dl compact><dt><b>Parameters:</b></dt><dd>
119 <table border="0" cellspacing="2" cellpadding="0">
120 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
121 </table>
122</dl>
123<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
124<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
125<dl compact><dt><b>Exceptions:</b></dt><dd>
126 <table border="0" cellspacing="2" cellpadding="0">
127 <tr><td valign="top"></td><td valign="top"><em>bad_alloc</em>&nbsp;</td><td></td></tr>
128 </table>
129</dl>
130<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
131
132</div>
133</div><p>
134<a class="anchor" name="8ddaa1aaef85fea9e7c3613ccdc5a891"></a><!-- doxytag: member="CDatT::~CDatT" ref="8ddaa1aaef85fea9e7c3613ccdc5a891" args="()" -->
135<div class="memitem">
136<div class="memproto">
137<div class="memtemplate">
138template&lt;class T&gt; </div>
139 <table class="memname">
140 <tr>
141 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::~<a class="el" href="classCDatT.html">CDatT</a> </td>
142 <td>(</td>
143 <td class="paramname"> </td>
144 <td>&nbsp;)&nbsp;</td>
145 <td width="100%"><code> [inline]</code></td>
146 </tr>
147 </table>
148</div>
149<div class="memdoc">
150
151<p>
152Default dtor.
153<p>
154<dl class="user" compact><dt><b>Methodname:</b></dt><dd>~CDatT </dd></dl>
155<dl compact><dt><b>Parameters:</b></dt><dd>
156 <table border="0" cellspacing="2" cellpadding="0">
157 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
158 </table>
159</dl>
160<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
161<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
162<dl compact><dt><b>Exceptions:</b></dt><dd>
163 <table border="0" cellspacing="2" cellpadding="0">
164 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
165 </table>
166</dl>
167<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
168
169</div>
170</div><p>
171<a class="anchor" name="e3b0f226b03d2aec0f5bc4f970eb7f3f"></a><!-- doxytag: member="CDatT::CDatT" ref="e3b0f226b03d2aec0f5bc4f970eb7f3f" args="(const CDatT &amp;other)" -->
172<div class="memitem">
173<div class="memproto">
174<div class="memtemplate">
175template&lt;class T&gt; </div>
176 <table class="memname">
177 <tr>
178 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::<a class="el" href="classCDatT.html">CDatT</a> </td>
179 <td>(</td>
180 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
181 <td class="paramname"> <em>other</em> </td>
182 <td>&nbsp;)&nbsp;</td>
183 <td width="100%"><code> [inline]</code></td>
184 </tr>
185 </table>
186</div>
187<div class="memdoc">
188
189<p>
190Copy constructor for <a class="el" href="classCDatT.html">CDatT</a>.
191<p>
192<dl class="user" compact><dt><b>Methodname:</b></dt><dd><a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
193<dl compact><dt><b>Parameters:</b></dt><dd>
194 <table border="0" cellspacing="2" cellpadding="0">
195 <tr><td valign="top"></td><td valign="top"><em>other</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> which will be copied </td></tr>
196 </table>
197</dl>
198<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
199<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
200<dl compact><dt><b>Exceptions:</b></dt><dd>
201 <table border="0" cellspacing="2" cellpadding="0">
202 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
203 </table>
204</dl>
205<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
206
207</div>
208</div><p>
209<a class="anchor" name="acdea447eebaf3c22a4d378328181f45"></a><!-- doxytag: member="CDatT::CDatT" ref="acdea447eebaf3c22a4d378328181f45" args="(T newval)" -->
210<div class="memitem">
211<div class="memproto">
212<div class="memtemplate">
213template&lt;class T&gt; </div>
214 <table class="memname">
215 <tr>
216 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::<a class="el" href="classCDatT.html">CDatT</a> </td>
217 <td>(</td>
218 <td class="paramtype">T&nbsp;</td>
219 <td class="paramname"> <em>newval</em> </td>
220 <td>&nbsp;)&nbsp;</td>
221 <td width="100%"><code> [inline]</code></td>
222 </tr>
223 </table>
224</div>
225<div class="memdoc">
226
227<p>
228Copy constructor for int.
229<p>
230<dl class="user" compact><dt><b>Methodname:</b></dt><dd><a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
231<dl compact><dt><b>Parameters:</b></dt><dd>
232 <table border="0" cellspacing="2" cellpadding="0">
233 <tr><td valign="top"></td><td valign="top"><em>newval</em>&nbsp;</td><td>new value for <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
234 </table>
235</dl>
236<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
237<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
238<dl compact><dt><b>Exceptions:</b></dt><dd>
239 <table border="0" cellspacing="2" cellpadding="0">
240 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
241 </table>
242</dl>
243<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
244
245</div>
246</div><p>
247<hr><h2>Member Function Documentation</h2>
248<a class="anchor" name="8c226fb0b0974a0cbb7897d94f75e4e0"></a><!-- doxytag: member="CDatT::getValue" ref="8c226fb0b0974a0cbb7897d94f75e4e0" args="() const " -->
249<div class="memitem">
250<div class="memproto">
251<div class="memtemplate">
252template&lt;class T&gt; </div>
253 <table class="memname">
254 <tr>
255 <td class="memname">T <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::getValue </td>
256 <td>(</td>
257 <td class="paramname"> </td>
258 <td>&nbsp;)&nbsp;</td>
259 <td width="100%"> const<code> [inline]</code></td>
260 </tr>
261 </table>
262</div>
263<div class="memdoc">
264
265<p>
266returns value of <a class="el" href="classCDatT.html">CDatT</a>
267<p>
268<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getValue </dd></dl>
269<dl compact><dt><b>Parameters:</b></dt><dd>
270 <table border="0" cellspacing="2" cellpadding="0">
271 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
272 </table>
273</dl>
274<dl class="return" compact><dt><b>Returns:</b></dt><dd>value of <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
275<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
276<dl compact><dt><b>Exceptions:</b></dt><dd>
277 <table border="0" cellspacing="2" cellpadding="0">
278 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
279 </table>
280</dl>
281<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
282
283</div>
284</div><p>
285<a class="anchor" name="5915d4f7de6dceea7d0d7253ce8ff5c9"></a><!-- doxytag: member="CDatT::operator T" ref="5915d4f7de6dceea7d0d7253ce8ff5c9" args="()" -->
286<div class="memitem">
287<div class="memproto">
288<div class="memtemplate">
289template&lt;class T&gt; </div>
290 <table class="memname">
291 <tr>
292 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator T </td>
293 <td>(</td>
294 <td class="paramname"> </td>
295 <td>&nbsp;)&nbsp;</td>
296 <td width="100%"><code> [inline]</code></td>
297 </tr>
298 </table>
299</div>
300<div class="memdoc">
301
302<p>
303convert to T
304<p>
305<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator T </dd></dl>
306<dl compact><dt><b>Parameters:</b></dt><dd>
307 <table border="0" cellspacing="2" cellpadding="0">
308 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
309 </table>
310</dl>
311<dl class="return" compact><dt><b>Returns:</b></dt><dd>T </dd></dl>
312<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
313<dl compact><dt><b>Exceptions:</b></dt><dd>
314 <table border="0" cellspacing="2" cellpadding="0">
315 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
316 </table>
317</dl>
318<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
319
320</div>
321</div><p>
322<a class="anchor" name="acd2ef7a53a0c4b128485147171d0cbd"></a><!-- doxytag: member="CDatT::operator&lt;" ref="acd2ef7a53a0c4b128485147171d0cbd" args="(const CDatT &amp;x) const " -->
323<div class="memitem">
324<div class="memproto">
325<div class="memtemplate">
326template&lt;class T&gt; </div>
327 <table class="memname">
328 <tr>
329 <td class="memname">bool <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator&lt; </td>
330 <td>(</td>
331 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
332 <td class="paramname"> <em>x</em> </td>
333 <td>&nbsp;)&nbsp;</td>
334 <td width="100%"> const<code> [inline]</code></td>
335 </tr>
336 </table>
337</div>
338<div class="memdoc">
339
340<p>
341implementation of operator &lt;
342<p>
343<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator&lt; </dd></dl>
344<dl compact><dt><b>Parameters:</b></dt><dd>
345 <table border="0" cellspacing="2" cellpadding="0">
346 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
347 </table>
348</dl>
349<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if cdat is less than object x </dd></dl>
350<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
351<dl compact><dt><b>Exceptions:</b></dt><dd>
352 <table border="0" cellspacing="2" cellpadding="0">
353 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
354 </table>
355</dl>
356<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
357
358</div>
359</div><p>
360<a class="anchor" name="884afb7b0c4e972c25f12f6eff15177d"></a><!-- doxytag: member="CDatT::operator==" ref="884afb7b0c4e972c25f12f6eff15177d" args="(const CDatT &amp;x) const " -->
361<div class="memitem">
362<div class="memproto">
363<div class="memtemplate">
364template&lt;class T&gt; </div>
365 <table class="memname">
366 <tr>
367 <td class="memname">bool <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator== </td>
368 <td>(</td>
369 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
370 <td class="paramname"> <em>x</em> </td>
371 <td>&nbsp;)&nbsp;</td>
372 <td width="100%"> const<code> [inline]</code></td>
373 </tr>
374 </table>
375</div>
376<div class="memdoc">
377
378<p>
379implementation of operator ==
380<p>
381<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator== </dd></dl>
382<dl compact><dt><b>Parameters:</b></dt><dd>
383 <table border="0" cellspacing="2" cellpadding="0">
384 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
385 </table>
386</dl>
387<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if cdat equals object x </dd></dl>
388<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
389<dl compact><dt><b>Exceptions:</b></dt><dd>
390 <table border="0" cellspacing="2" cellpadding="0">
391 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
392 </table>
393</dl>
394<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
395
396</div>
397</div><p>
398<a class="anchor" name="f4f1e37bd94b17229dd0e181fcf41860"></a><!-- doxytag: member="CDatT::operator+=" ref="f4f1e37bd94b17229dd0e181fcf41860" args="(const CDatT &amp;x)" -->
399<div class="memitem">
400<div class="memproto">
401<div class="memtemplate">
402template&lt;class T&gt; </div>
403 <table class="memname">
404 <tr>
405 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator+= </td>
406 <td>(</td>
407 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
408 <td class="paramname"> <em>x</em> </td>
409 <td>&nbsp;)&nbsp;</td>
410 <td width="100%"><code> [inline]</code></td>
411 </tr>
412 </table>
413</div>
414<div class="memdoc">
415
416<p>
417implementation of operator +=
418<p>
419<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator+= </dd></dl>
420<dl compact><dt><b>Parameters:</b></dt><dd>
421 <table border="0" cellspacing="2" cellpadding="0">
422 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
423 </table>
424</dl>
425<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
426<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
427<dl compact><dt><b>Exceptions:</b></dt><dd>
428 <table border="0" cellspacing="2" cellpadding="0">
429 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
430 </table>
431</dl>
432<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
433
434</div>
435</div><p>
436<a class="anchor" name="24cf91d1ac4e0277547ec158ed35544a"></a><!-- doxytag: member="CDatT::operator-=" ref="24cf91d1ac4e0277547ec158ed35544a" args="(const CDatT &amp;x)" -->
437<div class="memitem">
438<div class="memproto">
439<div class="memtemplate">
440template&lt;class T&gt; </div>
441 <table class="memname">
442 <tr>
443 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator-= </td>
444 <td>(</td>
445 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
446 <td class="paramname"> <em>x</em> </td>
447 <td>&nbsp;)&nbsp;</td>
448 <td width="100%"><code> [inline]</code></td>
449 </tr>
450 </table>
451</div>
452<div class="memdoc">
453
454<p>
455implementation of operator -=
456<p>
457<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator-= </dd></dl>
458<dl compact><dt><b>Parameters:</b></dt><dd>
459 <table border="0" cellspacing="2" cellpadding="0">
460 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
461 </table>
462</dl>
463<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
464<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
465<dl compact><dt><b>Exceptions:</b></dt><dd>
466 <table border="0" cellspacing="2" cellpadding="0">
467 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
468 </table>
469</dl>
470<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
471
472</div>
473</div><p>
474<a class="anchor" name="707446768fff0c8e9a56c4af874d0224"></a><!-- doxytag: member="CDatT::operator *=" ref="707446768fff0c8e9a56c4af874d0224" args="(const CDatT &amp;x)" -->
475<div class="memitem">
476<div class="memproto">
477<div class="memtemplate">
478template&lt;class T&gt; </div>
479 <table class="memname">
480 <tr>
481 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator *= </td>
482 <td>(</td>
483 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
484 <td class="paramname"> <em>x</em> </td>
485 <td>&nbsp;)&nbsp;</td>
486 <td width="100%"><code> [inline]</code></td>
487 </tr>
488 </table>
489</div>
490<div class="memdoc">
491
492<p>
493implementation of operator *=
494<p>
495<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator*= </dd></dl>
496<dl compact><dt><b>Parameters:</b></dt><dd>
497 <table border="0" cellspacing="2" cellpadding="0">
498 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
499 </table>
500</dl>
501<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
502<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
503<dl compact><dt><b>Exceptions:</b></dt><dd>
504 <table border="0" cellspacing="2" cellpadding="0">
505 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
506 </table>
507</dl>
508<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
509
510</div>
511</div><p>
512<a class="anchor" name="c68e6cd45ae94ef7485650e72f07c49d"></a><!-- doxytag: member="CDatT::operator/=" ref="c68e6cd45ae94ef7485650e72f07c49d" args="(const CDatT &amp;x)" -->
513<div class="memitem">
514<div class="memproto">
515<div class="memtemplate">
516template&lt;class T&gt; </div>
517 <table class="memname">
518 <tr>
519 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator/= </td>
520 <td>(</td>
521 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
522 <td class="paramname"> <em>x</em> </td>
523 <td>&nbsp;)&nbsp;</td>
524 <td width="100%"><code> [inline]</code></td>
525 </tr>
526 </table>
527</div>
528<div class="memdoc">
529
530<p>
531implementation of operator /=
532<p>
533<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator/= </dd></dl>
534<dl compact><dt><b>Parameters:</b></dt><dd>
535 <table border="0" cellspacing="2" cellpadding="0">
536 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
537 </table>
538</dl>
539<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
540<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
541<dl compact><dt><b>Exceptions:</b></dt><dd>
542 <table border="0" cellspacing="2" cellpadding="0">
543 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
544 </table>
545</dl>
546<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
547
548</div>
549</div><p>
550<a class="anchor" name="403d947a670fcc25dc0ae4e00293cc33"></a><!-- doxytag: member="CDatT::operator%=" ref="403d947a670fcc25dc0ae4e00293cc33" args="(const CDatT &amp;x)" -->
551<div class="memitem">
552<div class="memproto">
553<div class="memtemplate">
554template&lt;class T&gt; </div>
555 <table class="memname">
556 <tr>
557 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator%= </td>
558 <td>(</td>
559 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
560 <td class="paramname"> <em>x</em> </td>
561 <td>&nbsp;)&nbsp;</td>
562 <td width="100%"><code> [inline]</code></td>
563 </tr>
564 </table>
565</div>
566<div class="memdoc">
567
568<p>
569implementation of operator %=
570<p>
571<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator%= </dd></dl>
572<dl compact><dt><b>Parameters:</b></dt><dd>
573 <table border="0" cellspacing="2" cellpadding="0">
574 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
575 </table>
576</dl>
577<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
578<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
579<dl compact><dt><b>Exceptions:</b></dt><dd>
580 <table border="0" cellspacing="2" cellpadding="0">
581 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
582 </table>
583</dl>
584<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
585
586</div>
587</div><p>
588<a class="anchor" name="f98140b24016e58307bf92b556157a13"></a><!-- doxytag: member="CDatT::operator|=" ref="f98140b24016e58307bf92b556157a13" args="(const CDatT &amp;x)" -->
589<div class="memitem">
590<div class="memproto">
591<div class="memtemplate">
592template&lt;class T&gt; </div>
593 <table class="memname">
594 <tr>
595 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator|= </td>
596 <td>(</td>
597 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
598 <td class="paramname"> <em>x</em> </td>
599 <td>&nbsp;)&nbsp;</td>
600 <td width="100%"><code> [inline]</code></td>
601 </tr>
602 </table>
603</div>
604<div class="memdoc">
605
606<p>
607implementation of operator |=
608<p>
609<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator|= </dd></dl>
610<dl compact><dt><b>Parameters:</b></dt><dd>
611 <table border="0" cellspacing="2" cellpadding="0">
612 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
613 </table>
614</dl>
615<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
616<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
617<dl compact><dt><b>Exceptions:</b></dt><dd>
618 <table border="0" cellspacing="2" cellpadding="0">
619 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
620 </table>
621</dl>
622<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
623
624</div>
625</div><p>
626<a class="anchor" name="3ec7b2fac8d93e51cd87acda04d7f41e"></a><!-- doxytag: member="CDatT::operator &amp;=" ref="3ec7b2fac8d93e51cd87acda04d7f41e" args="(const CDatT &amp;x)" -->
627<div class="memitem">
628<div class="memproto">
629<div class="memtemplate">
630template&lt;class T&gt; </div>
631 <table class="memname">
632 <tr>
633 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator &amp;= </td>
634 <td>(</td>
635 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
636 <td class="paramname"> <em>x</em> </td>
637 <td>&nbsp;)&nbsp;</td>
638 <td width="100%"><code> [inline]</code></td>
639 </tr>
640 </table>
641</div>
642<div class="memdoc">
643
644<p>
645implementation of operator &amp;=
646<p>
647<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator&amp;= </dd></dl>
648<dl compact><dt><b>Parameters:</b></dt><dd>
649 <table border="0" cellspacing="2" cellpadding="0">
650 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
651 </table>
652</dl>
653<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
654<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
655<dl compact><dt><b>Exceptions:</b></dt><dd>
656 <table border="0" cellspacing="2" cellpadding="0">
657 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
658 </table>
659</dl>
660<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
661
662</div>
663</div><p>
664<a class="anchor" name="03cf22edd6b2489e63be6cc846de789f"></a><!-- doxytag: member="CDatT::operator^=" ref="03cf22edd6b2489e63be6cc846de789f" args="(const CDatT &amp;x)" -->
665<div class="memitem">
666<div class="memproto">
667<div class="memtemplate">
668template&lt;class T&gt; </div>
669 <table class="memname">
670 <tr>
671 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator^= </td>
672 <td>(</td>
673 <td class="paramtype">const <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
674 <td class="paramname"> <em>x</em> </td>
675 <td>&nbsp;)&nbsp;</td>
676 <td width="100%"><code> [inline]</code></td>
677 </tr>
678 </table>
679</div>
680<div class="memdoc">
681
682<p>
683implementation of operator ^=
684<p>
685<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator^= </dd></dl>
686<dl compact><dt><b>Parameters:</b></dt><dd>
687 <table border="0" cellspacing="2" cellpadding="0">
688 <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>reference to <a class="el" href="classCDatT.html">CDatT</a> </td></tr>
689 </table>
690</dl>
691<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
692<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
693<dl compact><dt><b>Exceptions:</b></dt><dd>
694 <table border="0" cellspacing="2" cellpadding="0">
695 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
696 </table>
697</dl>
698<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
699
700</div>
701</div><p>
702<a class="anchor" name="9a17a5e35049ad6a150ec800ddb81e64"></a><!-- doxytag: member="CDatT::operator++" ref="9a17a5e35049ad6a150ec800ddb81e64" args="()" -->
703<div class="memitem">
704<div class="memproto">
705<div class="memtemplate">
706template&lt;class T&gt; </div>
707 <table class="memname">
708 <tr>
709 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator++ </td>
710 <td>(</td>
711 <td class="paramname"> </td>
712 <td>&nbsp;)&nbsp;</td>
713 <td width="100%"><code> [inline]</code></td>
714 </tr>
715 </table>
716</div>
717<div class="memdoc">
718
719<p>
720implementation of operator ++
721<p>
722<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator++ </dd></dl>
723<dl compact><dt><b>Parameters:</b></dt><dd>
724 <table border="0" cellspacing="2" cellpadding="0">
725 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
726 </table>
727</dl>
728<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
729<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
730<dl compact><dt><b>Exceptions:</b></dt><dd>
731 <table border="0" cellspacing="2" cellpadding="0">
732 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
733 </table>
734</dl>
735<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
736
737</div>
738</div><p>
739<a class="anchor" name="ec2be360ce61195c92db1ba4d2db0d8b"></a><!-- doxytag: member="CDatT::operator--" ref="ec2be360ce61195c92db1ba4d2db0d8b" args="()" -->
740<div class="memitem">
741<div class="memproto">
742<div class="memtemplate">
743template&lt;class T&gt; </div>
744 <table class="memname">
745 <tr>
746 <td class="memname"><a class="el" href="classCDatT.html">CDatT</a>&amp; <a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;::operator-- </td>
747 <td>(</td>
748 <td class="paramname"> </td>
749 <td>&nbsp;)&nbsp;</td>
750 <td width="100%"><code> [inline]</code></td>
751 </tr>
752 </table>
753</div>
754<div class="memdoc">
755
756<p>
757implementation of operator --
758<p>
759<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator-- </dd></dl>
760<dl compact><dt><b>Parameters:</b></dt><dd>
761 <table border="0" cellspacing="2" cellpadding="0">
762 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
763 </table>
764</dl>
765<dl class="return" compact><dt><b>Returns:</b></dt><dd>refecence to <a class="el" href="classCDatT.html">CDatT</a> </dd></dl>
766<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
767<dl compact><dt><b>Exceptions:</b></dt><dd>
768 <table border="0" cellspacing="2" cellpadding="0">
769 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
770 </table>
771</dl>
772<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
773
774</div>
775</div><p>
776<hr><h2>Friends And Related Function Documentation</h2>
777<a class="anchor" name="81465346cb4f31cf76336d46c512d0f6"></a><!-- doxytag: member="CDatT::operator&lt;&lt;" ref="81465346cb4f31cf76336d46c512d0f6" args="(std::ostream &amp;stream, CDatT cdat)" -->
778<div class="memitem">
779<div class="memproto">
780<div class="memtemplate">
781template&lt;class T&gt; </div>
782 <table class="memname">
783 <tr>
784 <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
785 <td>(</td>
786 <td class="paramtype">std::ostream &amp;&nbsp;</td>
787 <td class="paramname"> <em>stream</em>, </td>
788 </tr>
789 <tr>
790 <td class="paramkey"></td>
791 <td></td>
792 <td class="paramtype"><a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt;&nbsp;</td>
793 <td class="paramname"> <em>cdat</em></td><td>&nbsp;</td>
794 </tr>
795 <tr>
796 <td></td>
797 <td>)</td>
798 <td></td><td></td><td width="100%"><code> [friend]</code></td>
799 </tr>
800 </table>
801</div>
802<div class="memdoc">
803
804<p>
805Shift/output operator for outputstream.
806<p>
807<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator&lt;&lt; </dd></dl>
808<dl compact><dt><b>Parameters:</b></dt><dd>
809 <table border="0" cellspacing="2" cellpadding="0">
810 <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>reference to outputstream </td></tr>
811 <tr><td valign="top"></td><td valign="top"><em>cdat</em>&nbsp;</td><td>object which will be printed to stream </td></tr>
812 </table>
813</dl>
814<dl class="return" compact><dt><b>Returns:</b></dt><dd>reference to outputstream </dd></dl>
815<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
816<dl compact><dt><b>Exceptions:</b></dt><dd>
817 <table border="0" cellspacing="2" cellpadding="0">
818 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
819 </table>
820</dl>
821<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
822
823</div>
824</div><p>
825<a class="anchor" name="16f0666a0b7c3383eb965daf48134fab"></a><!-- doxytag: member="CDatT::operator&gt;&gt;" ref="16f0666a0b7c3383eb965daf48134fab" args="(std::istream &amp;stream, CDatT &amp;cdat)" -->
826<div class="memitem">
827<div class="memproto">
828<div class="memtemplate">
829template&lt;class T&gt; </div>
830 <table class="memname">
831 <tr>
832 <td class="memname">std::istream&amp; operator&gt;&gt; </td>
833 <td>(</td>
834 <td class="paramtype">std::istream &amp;&nbsp;</td>
835 <td class="paramname"> <em>stream</em>, </td>
836 </tr>
837 <tr>
838 <td class="paramkey"></td>
839 <td></td>
840 <td class="paramtype"><a class="el" href="classCDatT.html">CDatT</a>&lt; T &gt; &amp;&nbsp;</td>
841 <td class="paramname"> <em>cdat</em></td><td>&nbsp;</td>
842 </tr>
843 <tr>
844 <td></td>
845 <td>)</td>
846 <td></td><td></td><td width="100%"><code> [friend]</code></td>
847 </tr>
848 </table>
849</div>
850<div class="memdoc">
851
852<p>
853Shift/read operator for inputstream.
854<p>
855<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator&gt;&gt; </dd></dl>
856<dl compact><dt><b>Parameters:</b></dt><dd>
857 <table border="0" cellspacing="2" cellpadding="0">
858 <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>reference to inputstream </td></tr>
859 <tr><td valign="top"></td><td valign="top"><em>cdat</em>&nbsp;</td><td>reference to object which will be read from stream </td></tr>
860 </table>
861</dl>
862<dl class="return" compact><dt><b>Returns:</b></dt><dd>reference to inputstream </dd></dl>
863<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
864<dl compact><dt><b>Exceptions:</b></dt><dd>
865 <table border="0" cellspacing="2" cellpadding="0">
866 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
867 </table>
868</dl>
869<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
870
871</div>
872</div><p>
873<hr>The documentation for this class was generated from the following file:<ul>
874<li>mycpu/<a class="el" href="cdat_8h-source.html">cdat.h</a></ul>
875<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
876<a href="http://www.doxygen.org/index.html">
877<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
878</body>
879</html>
diff --git a/ue3/doxygen/classCDisplay.html b/ue3/doxygen/classCDisplay.html
new file mode 100644
index 0000000..90ab9c9
--- /dev/null
+++ b/ue3/doxygen/classCDisplay.html
@@ -0,0 +1,45 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CDisplay Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDisplay Class Reference</h1><!-- doxytag: class="CDisplay" --><code>#include &lt;<a class="el" href="cdisplay_8h-source.html">cdisplay.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CDisplay:</div>
27<div class="dynsection">
28
29<p><center><img src="classCDisplay.png" usemap="#CDisplay_map" border="0" alt=""></center>
30<map name="CDisplay_map">
31<area href="classCDisplayWDEZ.html" alt="CDisplayWDEZ" shape="rect" coords="0,56,100,80">
32<area href="classCDisplayWHEX.html" alt="CDisplayWHEX" shape="rect" coords="110,56,210,80">
33</map>
34</div>
35<table border="0" cellpadding="0" cellspacing="0">
36<tr><td></td></tr>
37</table>
38<hr><a name="_details"></a><h2>Detailed Description</h2>
39Memory definition for <a class="el" href="classCCPU.html">CCPU</a> <hr>The documentation for this class was generated from the following file:<ul>
40<li>mycpu/<a class="el" href="cdisplay_8h-source.html">cdisplay.h</a></ul>
41<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
42<a href="http://www.doxygen.org/index.html">
43<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
44</body>
45</html>
diff --git a/ue3/doxygen/classCDisplay.png b/ue3/doxygen/classCDisplay.png
new file mode 100644
index 0000000..6aee098
--- /dev/null
+++ b/ue3/doxygen/classCDisplay.png
Binary files differ
diff --git a/ue3/doxygen/classCDisplayT-members.html b/ue3/doxygen/classCDisplayT-members.html
new file mode 100644
index 0000000..248f8bd
--- /dev/null
+++ b/ue3/doxygen/classCDisplayT-members.html
@@ -0,0 +1,33 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDisplayT&lt; T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classCDisplayT.html">CDisplayT&lt; T &gt;</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCDisplayT.html#d65d27ce8533285525788f3cc534ff14">CDisplayT</a>(std::string name)</td><td><a class="el" href="classCDisplayT.html">CDisplayT&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCDisplayT.html#5a15f96d3d76bdbb2b172c52036859c2">display</a>(const T &amp;value)=0</td><td><a class="el" href="classCDisplayT.html">CDisplayT&lt; T &gt;</a></td><td><code> [pure virtual]</code></td></tr>
26 <tr class="memlist"><td><a class="el" href="classCDisplayT.html#32897b9abaec6e9a0e73ae746ab5cec0">getName</a>()</td><td><a class="el" href="classCDisplayT.html">CDisplayT&lt; T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">m_name</a></td><td><a class="el" href="classCDisplayT.html">CDisplayT&lt; T &gt;</a></td><td><code> [protected]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCDisplayT.html#edeeab4320b2c3a5b482d216e73e5999">~CDisplayT</a>()</td><td><a class="el" href="classCDisplayT.html">CDisplayT&lt; T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
29</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
30<a href="http://www.doxygen.org/index.html">
31<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
32</body>
33</html>
diff --git a/ue3/doxygen/classCDisplayT.html b/ue3/doxygen/classCDisplayT.html
new file mode 100644
index 0000000..e837e43
--- /dev/null
+++ b/ue3/doxygen/classCDisplayT.html
@@ -0,0 +1,227 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CDisplayT&lt; T &gt; Class Template Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDisplayT&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="CDisplayT" --><code>#include &lt;<a class="el" href="cdisplay_8h-source.html">cdisplay.h</a>&gt;</code>
24<p>
25
26<p>
27<a href="classCDisplayT-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
28<tr><td></td></tr>
29<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
30<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDisplayT.html#d65d27ce8533285525788f3cc534ff14">CDisplayT</a> (std::string name)</td></tr>
31
32<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default ctor. <a href="#d65d27ce8533285525788f3cc534ff14"></a><br></td></tr>
33<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDisplayT.html#edeeab4320b2c3a5b482d216e73e5999">~CDisplayT</a> ()</td></tr>
34
35<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default dtor. <a href="#edeeab4320b2c3a5b482d216e73e5999"></a><br></td></tr>
36<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <br>
37std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDisplayT.html#32897b9abaec6e9a0e73ae746ab5cec0">getName</a> ()</td></tr>
38
39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns name of display <a href="#32897b9abaec6e9a0e73ae746ab5cec0"></a><br></td></tr>
40<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDisplayT.html#5a15f96d3d76bdbb2b172c52036859c2">display</a> (const T &amp;value)=0</td></tr>
41
42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">prints value to display <a href="#5a15f96d3d76bdbb2b172c52036859c2"></a><br></td></tr>
43<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
44<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">m_name</a></td></tr>
45
46</table>
47<hr><a name="_details"></a><h2>Detailed Description</h2>
48<h3>template&lt;class T&gt;<br>
49 class CDisplayT&lt; T &gt;</h3>
50
51Abstract template class for displays <hr><h2>Constructor &amp; Destructor Documentation</h2>
52<a class="anchor" name="d65d27ce8533285525788f3cc534ff14"></a><!-- doxytag: member="CDisplayT::CDisplayT" ref="d65d27ce8533285525788f3cc534ff14" args="(std::string name)" -->
53<div class="memitem">
54<div class="memproto">
55<div class="memtemplate">
56template&lt;class T&gt; </div>
57 <table class="memname">
58 <tr>
59 <td class="memname"><a class="el" href="classCDisplayT.html">CDisplayT</a>&lt; T &gt;::<a class="el" href="classCDisplayT.html">CDisplayT</a> </td>
60 <td>(</td>
61 <td class="paramtype">std::string&nbsp;</td>
62 <td class="paramname"> <em>name</em> </td>
63 <td>&nbsp;)&nbsp;</td>
64 <td width="100%"><code> [inline]</code></td>
65 </tr>
66 </table>
67</div>
68<div class="memdoc">
69
70<p>
71Default ctor.
72<p>
73<dl class="user" compact><dt><b>Methodname:</b></dt><dd><a class="el" href="classCDisplayT.html">CDisplayT</a> </dd></dl>
74<dl compact><dt><b>Parameters:</b></dt><dd>
75 <table border="0" cellspacing="2" cellpadding="0">
76 <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of display </td></tr>
77 </table>
78</dl>
79<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
80<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
81<dl compact><dt><b>Exceptions:</b></dt><dd>
82 <table border="0" cellspacing="2" cellpadding="0">
83 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
84 </table>
85</dl>
86<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
87
88</div>
89</div><p>
90<a class="anchor" name="edeeab4320b2c3a5b482d216e73e5999"></a><!-- doxytag: member="CDisplayT::~CDisplayT" ref="edeeab4320b2c3a5b482d216e73e5999" args="()" -->
91<div class="memitem">
92<div class="memproto">
93<div class="memtemplate">
94template&lt;class T&gt; </div>
95 <table class="memname">
96 <tr>
97 <td class="memname">virtual <a class="el" href="classCDisplayT.html">CDisplayT</a>&lt; T &gt;::~<a class="el" href="classCDisplayT.html">CDisplayT</a> </td>
98 <td>(</td>
99 <td class="paramname"> </td>
100 <td>&nbsp;)&nbsp;</td>
101 <td width="100%"><code> [inline, virtual]</code></td>
102 </tr>
103 </table>
104</div>
105<div class="memdoc">
106
107<p>
108Default dtor.
109<p>
110<dl class="user" compact><dt><b>Methodname:</b></dt><dd>~CDisplayT </dd></dl>
111<dl compact><dt><b>Parameters:</b></dt><dd>
112 <table border="0" cellspacing="2" cellpadding="0">
113 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
114 </table>
115</dl>
116<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
117<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
118<dl compact><dt><b>Exceptions:</b></dt><dd>
119 <table border="0" cellspacing="2" cellpadding="0">
120 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
121 </table>
122</dl>
123<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
124
125</div>
126</div><p>
127<hr><h2>Member Function Documentation</h2>
128<a class="anchor" name="32897b9abaec6e9a0e73ae746ab5cec0"></a><!-- doxytag: member="CDisplayT::getName" ref="32897b9abaec6e9a0e73ae746ab5cec0" args="()" -->
129<div class="memitem">
130<div class="memproto">
131<div class="memtemplate">
132template&lt;class T&gt; </div>
133 <table class="memname">
134 <tr>
135 <td class="memname">virtual const std::string&amp; <a class="el" href="classCDisplayT.html">CDisplayT</a>&lt; T &gt;::getName </td>
136 <td>(</td>
137 <td class="paramname"> </td>
138 <td>&nbsp;)&nbsp;</td>
139 <td width="100%"><code> [inline, virtual]</code></td>
140 </tr>
141 </table>
142</div>
143<div class="memdoc">
144
145<p>
146returns name of display
147<p>
148<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getName </dd></dl>
149<dl compact><dt><b>Parameters:</b></dt><dd>
150 <table border="0" cellspacing="2" cellpadding="0">
151 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
152 </table>
153</dl>
154<dl class="return" compact><dt><b>Returns:</b></dt><dd>name of display </dd></dl>
155<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
156<dl compact><dt><b>Exceptions:</b></dt><dd>
157 <table border="0" cellspacing="2" cellpadding="0">
158 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
159 </table>
160</dl>
161<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
162
163</div>
164</div><p>
165<a class="anchor" name="5a15f96d3d76bdbb2b172c52036859c2"></a><!-- doxytag: member="CDisplayT::display" ref="5a15f96d3d76bdbb2b172c52036859c2" args="(const T &amp;value)=0" -->
166<div class="memitem">
167<div class="memproto">
168<div class="memtemplate">
169template&lt;class T&gt; </div>
170 <table class="memname">
171 <tr>
172 <td class="memname">virtual void <a class="el" href="classCDisplayT.html">CDisplayT</a>&lt; T &gt;::display </td>
173 <td>(</td>
174 <td class="paramtype">const T &amp;&nbsp;</td>
175 <td class="paramname"> <em>value</em> </td>
176 <td>&nbsp;)&nbsp;</td>
177 <td width="100%"><code> [pure virtual]</code></td>
178 </tr>
179 </table>
180</div>
181<div class="memdoc">
182
183<p>
184prints value to display
185<p>
186<dl class="user" compact><dt><b>Methodname:</b></dt><dd>display </dd></dl>
187<dl compact><dt><b>Parameters:</b></dt><dd>
188 <table border="0" cellspacing="2" cellpadding="0">
189 <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to display </td></tr>
190 </table>
191</dl>
192<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
193<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
194<dl compact><dt><b>Exceptions:</b></dt><dd>
195 <table border="0" cellspacing="2" cellpadding="0">
196 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
197 </table>
198</dl>
199<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
200
201</div>
202</div><p>
203<hr><h2>Member Data Documentation</h2>
204<a class="anchor" name="ba8ab4d4abe2426b266660134efb370f"></a><!-- doxytag: member="CDisplayT::m_name" ref="ba8ab4d4abe2426b266660134efb370f" args="" -->
205<div class="memitem">
206<div class="memproto">
207<div class="memtemplate">
208template&lt;class T&gt; </div>
209 <table class="memname">
210 <tr>
211 <td class="memname">std::string <a class="el" href="classCDisplayT.html">CDisplayT</a>&lt; T &gt;::<a class="el" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">m_name</a><code> [protected]</code> </td>
212 </tr>
213 </table>
214</div>
215<div class="memdoc">
216
217<p>
218name of display
219</div>
220</div><p>
221<hr>The documentation for this class was generated from the following file:<ul>
222<li>mycpu/<a class="el" href="cdisplay_8h-source.html">cdisplay.h</a></ul>
223<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
224<a href="http://www.doxygen.org/index.html">
225<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
226</body>
227</html>
diff --git a/ue3/doxygen/classCDisplayWDEZ-members.html b/ue3/doxygen/classCDisplayWDEZ-members.html
new file mode 100644
index 0000000..eadb3c0
--- /dev/null
+++ b/ue3/doxygen/classCDisplayWDEZ-members.html
@@ -0,0 +1,30 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDisplayWDEZ Member List</h1>This is the complete list of members for <a class="el" href="classCDisplayWDEZ.html">CDisplayWDEZ</a>, including all inherited members.<p><table>
24 <tr bgcolor="#f0f0f0"><td><b>CDisplayWDEZ</b>() (defined in <a class="el" href="classCDisplayWDEZ.html">CDisplayWDEZ</a>)</td><td><a class="el" href="classCDisplayWDEZ.html">CDisplayWDEZ</a></td><td><code> [inline]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCDisplayWDEZ.html#91798e80f37ec86e3aa7d0f899e3a8dc">display</a>(const CDat &amp;value)</td><td><a class="el" href="classCDisplayWDEZ.html">CDisplayWDEZ</a></td><td><code> [inline]</code></td></tr>
26</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
27<a href="http://www.doxygen.org/index.html">
28<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
29</body>
30</html>
diff --git a/ue3/doxygen/classCDisplayWDEZ.html b/ue3/doxygen/classCDisplayWDEZ.html
new file mode 100644
index 0000000..dfc9ae9
--- /dev/null
+++ b/ue3/doxygen/classCDisplayWDEZ.html
@@ -0,0 +1,87 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CDisplayWDEZ Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDisplayWDEZ Class Reference</h1><!-- doxytag: class="CDisplayWDEZ" --><!-- doxytag: inherits="CDisplay" --><code>#include &lt;<a class="el" href="displays_8h-source.html">displays.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CDisplayWDEZ:</div>
27<div class="dynsection">
28
29<p><center><img src="classCDisplayWDEZ.png" usemap="#CDisplayWDEZ_map" border="0" alt=""></center>
30<map name="CDisplayWDEZ_map">
31<area href="classCDisplay.html" alt="CDisplay" shape="rect" coords="0,0,100,24">
32</map>
33</div>
34
35<p>
36<a href="classCDisplayWDEZ-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDisplayWDEZ.html#91798e80f37ec86e3aa7d0f899e3a8dc">display</a> (const <a class="el" href="classCDat.html">CDat</a> &amp;value)</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">prints value to display <a href="#91798e80f37ec86e3aa7d0f899e3a8dc"></a><br></td></tr>
42</table>
43<hr><a name="_details"></a><h2>Detailed Description</h2>
44Implementation of <a class="el" href="classCDisplay.html">CDisplay</a> Prints <a class="el" href="classCDat.html">CDat</a> to stdout as decimal <hr><h2>Member Function Documentation</h2>
45<a class="anchor" name="91798e80f37ec86e3aa7d0f899e3a8dc"></a><!-- doxytag: member="CDisplayWDEZ::display" ref="91798e80f37ec86e3aa7d0f899e3a8dc" args="(const CDat &amp;value)" -->
46<div class="memitem">
47<div class="memproto">
48 <table class="memname">
49 <tr>
50 <td class="memname">void CDisplayWDEZ::display </td>
51 <td>(</td>
52 <td class="paramtype">const <a class="el" href="classCDat.html">CDat</a> &amp;&nbsp;</td>
53 <td class="paramname"> <em>value</em> </td>
54 <td>&nbsp;)&nbsp;</td>
55 <td width="100%"><code> [inline]</code></td>
56 </tr>
57 </table>
58</div>
59<div class="memdoc">
60
61<p>
62prints value to display
63<p>
64<dl class="user" compact><dt><b>Methodname:</b></dt><dd>display </dd></dl>
65<dl compact><dt><b>Parameters:</b></dt><dd>
66 <table border="0" cellspacing="2" cellpadding="0">
67 <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to display </td></tr>
68 </table>
69</dl>
70<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
71<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
72<dl compact><dt><b>Exceptions:</b></dt><dd>
73 <table border="0" cellspacing="2" cellpadding="0">
74 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
75 </table>
76</dl>
77<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
78
79</div>
80</div><p>
81<hr>The documentation for this class was generated from the following file:<ul>
82<li>mycpu/<a class="el" href="displays_8h-source.html">displays.h</a></ul>
83<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
84<a href="http://www.doxygen.org/index.html">
85<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
86</body>
87</html>
diff --git a/ue3/doxygen/classCDisplayWDEZ.png b/ue3/doxygen/classCDisplayWDEZ.png
new file mode 100644
index 0000000..10fe751
--- /dev/null
+++ b/ue3/doxygen/classCDisplayWDEZ.png
Binary files differ
diff --git a/ue3/doxygen/classCDisplayWHEX-members.html b/ue3/doxygen/classCDisplayWHEX-members.html
new file mode 100644
index 0000000..d00d3bc
--- /dev/null
+++ b/ue3/doxygen/classCDisplayWHEX-members.html
@@ -0,0 +1,30 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDisplayWHEX Member List</h1>This is the complete list of members for <a class="el" href="classCDisplayWHEX.html">CDisplayWHEX</a>, including all inherited members.<p><table>
24 <tr bgcolor="#f0f0f0"><td><b>CDisplayWHEX</b>() (defined in <a class="el" href="classCDisplayWHEX.html">CDisplayWHEX</a>)</td><td><a class="el" href="classCDisplayWHEX.html">CDisplayWHEX</a></td><td><code> [inline]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCDisplayWHEX.html#6adaa6532cd684060029e31457d83752">display</a>(const CDat &amp;value)</td><td><a class="el" href="classCDisplayWHEX.html">CDisplayWHEX</a></td><td><code> [inline]</code></td></tr>
26</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
27<a href="http://www.doxygen.org/index.html">
28<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
29</body>
30</html>
diff --git a/ue3/doxygen/classCDisplayWHEX.html b/ue3/doxygen/classCDisplayWHEX.html
new file mode 100644
index 0000000..bc2d8f1
--- /dev/null
+++ b/ue3/doxygen/classCDisplayWHEX.html
@@ -0,0 +1,87 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CDisplayWHEX Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CDisplayWHEX Class Reference</h1><!-- doxytag: class="CDisplayWHEX" --><!-- doxytag: inherits="CDisplay" --><code>#include &lt;<a class="el" href="displays_8h-source.html">displays.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CDisplayWHEX:</div>
27<div class="dynsection">
28
29<p><center><img src="classCDisplayWHEX.png" usemap="#CDisplayWHEX_map" border="0" alt=""></center>
30<map name="CDisplayWHEX_map">
31<area href="classCDisplay.html" alt="CDisplay" shape="rect" coords="0,0,100,24">
32</map>
33</div>
34
35<p>
36<a href="classCDisplayWHEX-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDisplayWHEX.html#6adaa6532cd684060029e31457d83752">display</a> (const <a class="el" href="classCDat.html">CDat</a> &amp;value)</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">prints value to display <a href="#6adaa6532cd684060029e31457d83752"></a><br></td></tr>
42</table>
43<hr><a name="_details"></a><h2>Detailed Description</h2>
44Implementation of <a class="el" href="classCDisplay.html">CDisplay</a> Prints <a class="el" href="classCDat.html">CDat</a> to stdout as decimal <hr><h2>Member Function Documentation</h2>
45<a class="anchor" name="6adaa6532cd684060029e31457d83752"></a><!-- doxytag: member="CDisplayWHEX::display" ref="6adaa6532cd684060029e31457d83752" args="(const CDat &amp;value)" -->
46<div class="memitem">
47<div class="memproto">
48 <table class="memname">
49 <tr>
50 <td class="memname">void CDisplayWHEX::display </td>
51 <td>(</td>
52 <td class="paramtype">const <a class="el" href="classCDat.html">CDat</a> &amp;&nbsp;</td>
53 <td class="paramname"> <em>value</em> </td>
54 <td>&nbsp;)&nbsp;</td>
55 <td width="100%"><code> [inline]</code></td>
56 </tr>
57 </table>
58</div>
59<div class="memdoc">
60
61<p>
62prints value to display
63<p>
64<dl class="user" compact><dt><b>Methodname:</b></dt><dd>display </dd></dl>
65<dl compact><dt><b>Parameters:</b></dt><dd>
66 <table border="0" cellspacing="2" cellpadding="0">
67 <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to display </td></tr>
68 </table>
69</dl>
70<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
71<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
72<dl compact><dt><b>Exceptions:</b></dt><dd>
73 <table border="0" cellspacing="2" cellpadding="0">
74 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
75 </table>
76</dl>
77<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
78
79</div>
80</div><p>
81<hr>The documentation for this class was generated from the following file:<ul>
82<li>mycpu/<a class="el" href="displays_8h-source.html">displays.h</a></ul>
83<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
84<a href="http://www.doxygen.org/index.html">
85<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
86</body>
87</html>
diff --git a/ue3/doxygen/classCDisplayWHEX.png b/ue3/doxygen/classCDisplayWHEX.png
new file mode 100644
index 0000000..67b90b6
--- /dev/null
+++ b/ue3/doxygen/classCDisplayWHEX.png
Binary files differ
diff --git a/ue3/doxygen/classCInstruction-members.html b/ue3/doxygen/classCInstruction-members.html
new file mode 100644
index 0000000..e22ff7f
--- /dev/null
+++ b/ue3/doxygen/classCInstruction-members.html
@@ -0,0 +1,41 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstruction Member List</h1>This is the complete list of members for <a class="el" href="classCInstruction.html">CInstruction</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr class="memlist"><td><a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">compile</a>(std::list&lt; std::string &gt; &amp;params)=0</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [pure virtual]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">execute</a>(CCPU *cpu)=0</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [pure virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">factory</a>()=0</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [pure virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
38<a href="http://www.doxygen.org/index.html">
39<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
40</body>
41</html>
diff --git a/ue3/doxygen/classCInstruction.html b/ue3/doxygen/classCInstruction.html
new file mode 100644
index 0000000..052da01
--- /dev/null
+++ b/ue3/doxygen/classCInstruction.html
@@ -0,0 +1,575 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstruction Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstruction Class Reference</h1><!-- doxytag: class="CInstruction" --><code>#include &lt;<a class="el" href="cinstruction_8h-source.html">cinstruction.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstruction:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstruction.png" usemap="#CInstruction_map" border="0" alt=""></center>
30<map name="CInstruction_map">
31<area href="classCInstructionAdd.html" alt="CInstructionAdd" shape="rect" coords="128,56,246,80">
32<area href="classCInstructionDec.html" alt="CInstructionDec" shape="rect" coords="128,112,246,136">
33<area href="classCInstructionDiv.html" alt="CInstructionDiv" shape="rect" coords="128,168,246,192">
34<area href="classCInstructionInc.html" alt="CInstructionInc" shape="rect" coords="128,224,246,248">
35<area href="classCInstructionJumpA.html" alt="CInstructionJumpA" shape="rect" coords="128,280,246,304">
36<area href="classCInstructionJumpS.html" alt="CInstructionJumpS" shape="rect" coords="128,336,246,360">
37<area href="classCInstructionJumpZ.html" alt="CInstructionJumpZ" shape="rect" coords="128,392,246,416">
38<area href="classCInstructionLabel.html" alt="CInstructionLabel" shape="rect" coords="128,448,246,472">
39<area href="classCInstructionLoad.html" alt="CInstructionLoad" shape="rect" coords="128,504,246,528">
40<area href="classCInstructionMul.html" alt="CInstructionMul" shape="rect" coords="128,560,246,584">
41<area href="classCInstructionStore.html" alt="CInstructionStore" shape="rect" coords="128,616,246,640">
42<area href="classCInstructionSub.html" alt="CInstructionSub" shape="rect" coords="128,672,246,696">
43<area href="classCInstructionTest.html" alt="CInstructionTest" shape="rect" coords="128,728,246,752">
44<area href="classCInstructionWrite.html" alt="CInstructionWrite" shape="rect" coords="128,784,246,808">
45</map>
46</div>
47
48<p>
49<a href="classCInstruction-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
50<tr><td></td></tr>
51<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
52<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a> (std::string name)</td></tr>
53
54<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default ctor. <a href="#263195c9e1f109bf44f7040727dcfa78"></a><br></td></tr>
55<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a> ()</td></tr>
56
57<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default dtor. <a href="#d2ded1d8675749bc39a085a8c50a6612"></a><br></td></tr>
58<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a> (std::string &amp;name)</td></tr>
59
60<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator == <a href="#395c9bde315efbc0eefd0bbb1586950a"></a><br></td></tr>
61<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCInstruction.html">CInstruction</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
62
63<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">implementation of operator (<a class="el" href="classCCPU.html">CCPU</a>) <a href="#b5b2364b0cccc6db2f5c3aaccee8aa43"></a><br></td></tr>
64<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <br>
65std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a> ()</td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns instruction name <a href="#e8187580097fd2ced5a8bc6e6e09fe44"></a><br></td></tr>
68<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a> (std::ostream &amp;stream)</td></tr>
69
70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dumps information about instruction to outputstream <a href="#040a2394e2161a65f37ef31d16bb6a35"></a><br></td></tr>
71<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a> (const std::string &amp;str)</td></tr>
72
73<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses register syntax Rx (e.g. "R1") <a href="#2723f8875ff0cc4e48d840db1ae5b4a8"></a><br></td></tr>
74<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu, const unsigned regidx)</td></tr>
75
76<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">performs a register boundary check does the register exist in cpu? <a href="#8e938360a34f1cd3bf799f21e2ce6f6c"></a><br></td></tr>
77<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCInstruction.html">CInstruction</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">factory</a> ()=0</td></tr>
78
79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#fae8dc231b375db91f874df0d085b7dc"></a><br></td></tr>
80<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">compile</a> (std::list&lt; std::string &gt; &amp;params)=0</td></tr>
81
82<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#15e2ce88b04fcf208ba43c43f7dd57aa"></a><br></td></tr>
83<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)=0</td></tr>
84
85<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#127fd09a772e9f584550cd342af770d1"></a><br></td></tr>
86<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
87<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td></tr>
88
89<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
90<tr><td class="memItemLeft" nowrap align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a> (std::ostream &amp;stream, <a class="el" href="classCInstruction.html">CInstruction</a> &amp;instr)</td></tr>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift/output operator for outputstream. <a href="#7651b4c147411bca34a0393adf03507d"></a><br></td></tr>
93</table>
94<hr><a name="_details"></a><h2>Detailed Description</h2>
95Abstract class for displays <hr><h2>Constructor &amp; Destructor Documentation</h2>
96<a class="anchor" name="263195c9e1f109bf44f7040727dcfa78"></a><!-- doxytag: member="CInstruction::CInstruction" ref="263195c9e1f109bf44f7040727dcfa78" args="(std::string name)" -->
97<div class="memitem">
98<div class="memproto">
99 <table class="memname">
100 <tr>
101 <td class="memname">CInstruction::CInstruction </td>
102 <td>(</td>
103 <td class="paramtype">std::string&nbsp;</td>
104 <td class="paramname"> <em>name</em> </td>
105 <td>&nbsp;)&nbsp;</td>
106 <td width="100%"><code> [inline]</code></td>
107 </tr>
108 </table>
109</div>
110<div class="memdoc">
111
112<p>
113Default ctor.
114<p>
115<dl class="user" compact><dt><b>Methodname:</b></dt><dd><a class="el" href="classCInstruction.html">CInstruction</a> </dd></dl>
116<dl compact><dt><b>Parameters:</b></dt><dd>
117 <table border="0" cellspacing="2" cellpadding="0">
118 <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of instruction </td></tr>
119 </table>
120</dl>
121<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
122<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
123<dl compact><dt><b>Exceptions:</b></dt><dd>
124 <table border="0" cellspacing="2" cellpadding="0">
125 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
126 </table>
127</dl>
128<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
129
130</div>
131</div><p>
132<a class="anchor" name="d2ded1d8675749bc39a085a8c50a6612"></a><!-- doxytag: member="CInstruction::~CInstruction" ref="d2ded1d8675749bc39a085a8c50a6612" args="()" -->
133<div class="memitem">
134<div class="memproto">
135 <table class="memname">
136 <tr>
137 <td class="memname">virtual CInstruction::~CInstruction </td>
138 <td>(</td>
139 <td class="paramname"> </td>
140 <td>&nbsp;)&nbsp;</td>
141 <td width="100%"><code> [inline, virtual]</code></td>
142 </tr>
143 </table>
144</div>
145<div class="memdoc">
146
147<p>
148Default dtor.
149<p>
150<dl class="user" compact><dt><b>Methodname:</b></dt><dd>~CInstruction </dd></dl>
151<dl compact><dt><b>Parameters:</b></dt><dd>
152 <table border="0" cellspacing="2" cellpadding="0">
153 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
154 </table>
155</dl>
156<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
157<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
158<dl compact><dt><b>Exceptions:</b></dt><dd>
159 <table border="0" cellspacing="2" cellpadding="0">
160 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
161 </table>
162</dl>
163<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
164
165</div>
166</div><p>
167<hr><h2>Member Function Documentation</h2>
168<a class="anchor" name="395c9bde315efbc0eefd0bbb1586950a"></a><!-- doxytag: member="CInstruction::operator==" ref="395c9bde315efbc0eefd0bbb1586950a" args="(std::string &amp;name)" -->
169<div class="memitem">
170<div class="memproto">
171 <table class="memname">
172 <tr>
173 <td class="memname">virtual bool CInstruction::operator== </td>
174 <td>(</td>
175 <td class="paramtype">std::string &amp;&nbsp;</td>
176 <td class="paramname"> <em>name</em> </td>
177 <td>&nbsp;)&nbsp;</td>
178 <td width="100%"><code> [inline, virtual]</code></td>
179 </tr>
180 </table>
181</div>
182<div class="memdoc">
183
184<p>
185implementation of operator ==
186<p>
187<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator== </dd></dl>
188<dl compact><dt><b>Parameters:</b></dt><dd>
189 <table border="0" cellspacing="2" cellpadding="0">
190 <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>reference to std::string </td></tr>
191 </table>
192</dl>
193<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if instructionname is name </dd></dl>
194<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
195<dl compact><dt><b>Exceptions:</b></dt><dd>
196 <table border="0" cellspacing="2" cellpadding="0">
197 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
198 </table>
199</dl>
200<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
201
202</div>
203</div><p>
204<a class="anchor" name="b5b2364b0cccc6db2f5c3aaccee8aa43"></a><!-- doxytag: member="CInstruction::operator()" ref="b5b2364b0cccc6db2f5c3aaccee8aa43" args="(CCPU *cpu)" -->
205<div class="memitem">
206<div class="memproto">
207 <table class="memname">
208 <tr>
209 <td class="memname">virtual <a class="el" href="classCInstruction.html">CInstruction</a>&amp; CInstruction::operator() </td>
210 <td>(</td>
211 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
212 <td class="paramname"> <em>cpu</em> </td>
213 <td>&nbsp;)&nbsp;</td>
214 <td width="100%"><code> [inline, virtual]</code></td>
215 </tr>
216 </table>
217</div>
218<div class="memdoc">
219
220<p>
221implementation of operator (<a class="el" href="classCCPU.html">CCPU</a>)
222<p>
223<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator() </dd></dl>
224<dl compact><dt><b>Parameters:</b></dt><dd>
225 <table border="0" cellspacing="2" cellpadding="0">
226 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
227 </table>
228</dl>
229<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
230<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
231<dl compact><dt><b>Exceptions:</b></dt><dd>
232 <table border="0" cellspacing="2" cellpadding="0">
233 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
234 </table>
235</dl>
236<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
237
238</div>
239</div><p>
240<a class="anchor" name="e8187580097fd2ced5a8bc6e6e09fe44"></a><!-- doxytag: member="CInstruction::getName" ref="e8187580097fd2ced5a8bc6e6e09fe44" args="()" -->
241<div class="memitem">
242<div class="memproto">
243 <table class="memname">
244 <tr>
245 <td class="memname">virtual const std::string&amp; CInstruction::getName </td>
246 <td>(</td>
247 <td class="paramname"> </td>
248 <td>&nbsp;)&nbsp;</td>
249 <td width="100%"><code> [inline, virtual]</code></td>
250 </tr>
251 </table>
252</div>
253<div class="memdoc">
254
255<p>
256returns instruction name
257<p>
258<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getName </dd></dl>
259<dl compact><dt><b>Parameters:</b></dt><dd>
260 <table border="0" cellspacing="2" cellpadding="0">
261 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
262 </table>
263</dl>
264<dl class="return" compact><dt><b>Returns:</b></dt><dd>name of instruction </dd></dl>
265<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
266<dl compact><dt><b>Exceptions:</b></dt><dd>
267 <table border="0" cellspacing="2" cellpadding="0">
268 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
269 </table>
270</dl>
271<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
272
273</div>
274</div><p>
275<a class="anchor" name="040a2394e2161a65f37ef31d16bb6a35"></a><!-- doxytag: member="CInstruction::dump" ref="040a2394e2161a65f37ef31d16bb6a35" args="(std::ostream &amp;stream)" -->
276<div class="memitem">
277<div class="memproto">
278 <table class="memname">
279 <tr>
280 <td class="memname">virtual std::ostream&amp; CInstruction::dump </td>
281 <td>(</td>
282 <td class="paramtype">std::ostream &amp;&nbsp;</td>
283 <td class="paramname"> <em>stream</em> </td>
284 <td>&nbsp;)&nbsp;</td>
285 <td width="100%"><code> [inline, virtual]</code></td>
286 </tr>
287 </table>
288</div>
289<div class="memdoc">
290
291<p>
292dumps information about instruction to outputstream
293<p>
294<dl class="user" compact><dt><b>Methodname:</b></dt><dd>dump </dd></dl>
295<dl compact><dt><b>Parameters:</b></dt><dd>
296 <table border="0" cellspacing="2" cellpadding="0">
297 <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>outputstream </td></tr>
298 </table>
299</dl>
300<dl class="return" compact><dt><b>Returns:</b></dt><dd>reference to outputstream </dd></dl>
301<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
302<dl compact><dt><b>Exceptions:</b></dt><dd>
303 <table border="0" cellspacing="2" cellpadding="0">
304 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
305 </table>
306</dl>
307<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
308
309</div>
310</div><p>
311<a class="anchor" name="2723f8875ff0cc4e48d840db1ae5b4a8"></a><!-- doxytag: member="CInstruction::parseRegister" ref="2723f8875ff0cc4e48d840db1ae5b4a8" args="(const std::string &amp;str)" -->
312<div class="memitem">
313<div class="memproto">
314 <table class="memname">
315 <tr>
316 <td class="memname">const unsigned CInstruction::parseRegister </td>
317 <td>(</td>
318 <td class="paramtype">const std::string &amp;&nbsp;</td>
319 <td class="paramname"> <em>str</em> </td>
320 <td>&nbsp;)&nbsp;</td>
321 <td width="100%"><code> [virtual]</code></td>
322 </tr>
323 </table>
324</div>
325<div class="memdoc">
326
327<p>
328parses register syntax Rx (e.g. "R1")
329<p>
330<dl class="user" compact><dt><b>Methodname:</b></dt><dd>parseRegister </dd></dl>
331<dl compact><dt><b>Parameters:</b></dt><dd>
332 <table border="0" cellspacing="2" cellpadding="0">
333 <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>register in assembler syntax </td></tr>
334 </table>
335</dl>
336<dl class="return" compact><dt><b>Returns:</b></dt><dd>registernumber </dd></dl>
337<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
338<dl compact><dt><b>Exceptions:</b></dt><dd>
339 <table border="0" cellspacing="2" cellpadding="0">
340 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
341 </table>
342</dl>
343<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
344
345</div>
346</div><p>
347<a class="anchor" name="8e938360a34f1cd3bf799f21e2ce6f6c"></a><!-- doxytag: member="CInstruction::checkRegister" ref="8e938360a34f1cd3bf799f21e2ce6f6c" args="(CCPU *cpu, const unsigned regidx)" -->
348<div class="memitem">
349<div class="memproto">
350 <table class="memname">
351 <tr>
352 <td class="memname">void CInstruction::checkRegister </td>
353 <td>(</td>
354 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
355 <td class="paramname"> <em>cpu</em>, </td>
356 </tr>
357 <tr>
358 <td class="paramkey"></td>
359 <td></td>
360 <td class="paramtype">const unsigned&nbsp;</td>
361 <td class="paramname"> <em>regidx</em></td><td>&nbsp;</td>
362 </tr>
363 <tr>
364 <td></td>
365 <td>)</td>
366 <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
367 </tr>
368 </table>
369</div>
370<div class="memdoc">
371
372<p>
373performs a register boundary check does the register exist in cpu?
374<p>
375<dl class="user" compact><dt><b>Methodname:</b></dt><dd>checkRegister </dd></dl>
376<dl compact><dt><b>Parameters:</b></dt><dd>
377 <table border="0" cellspacing="2" cellpadding="0">
378 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
379 <tr><td valign="top"></td><td valign="top"><em>regidx</em>&nbsp;</td><td>registernumber </td></tr>
380 </table>
381</dl>
382<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
383<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
384<dl compact><dt><b>Exceptions:</b></dt><dd>
385 <table border="0" cellspacing="2" cellpadding="0">
386 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
387 </table>
388</dl>
389<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
390
391</div>
392</div><p>
393<a class="anchor" name="fae8dc231b375db91f874df0d085b7dc"></a><!-- doxytag: member="CInstruction::factory" ref="fae8dc231b375db91f874df0d085b7dc" args="()=0" -->
394<div class="memitem">
395<div class="memproto">
396 <table class="memname">
397 <tr>
398 <td class="memname">virtual <a class="el" href="classCInstruction.html">CInstruction</a>* CInstruction::factory </td>
399 <td>(</td>
400 <td class="paramname"> </td>
401 <td>&nbsp;)&nbsp;</td>
402 <td width="100%"><code> [pure virtual]</code></td>
403 </tr>
404 </table>
405</div>
406<div class="memdoc">
407
408<p>
409creates a new instance of this instruction
410<p>
411<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
412<dl compact><dt><b>Parameters:</b></dt><dd>
413 <table border="0" cellspacing="2" cellpadding="0">
414 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
415 </table>
416</dl>
417<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
418<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
419<dl compact><dt><b>Exceptions:</b></dt><dd>
420 <table border="0" cellspacing="2" cellpadding="0">
421 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
422 </table>
423</dl>
424<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
425
426<p>Implemented in <a class="el" href="classCInstructionInc.html#d55c35cbbd5c88fd29a392051e79f5f1">CInstructionInc</a>, <a class="el" href="classCInstructionDec.html#5aa3bcd55f05765e25758f45f4f55059">CInstructionDec</a>, <a class="el" href="classCInstructionAdd.html#6fa9bae98f84f5ae34946641fb03ff32">CInstructionAdd</a>, <a class="el" href="classCInstructionSub.html#71c77a5113f96ac25e79bc4d28072541">CInstructionSub</a>, <a class="el" href="classCInstructionMul.html#1e8f23073a29a0d50fa9d651b986e821">CInstructionMul</a>, <a class="el" href="classCInstructionDiv.html#3445767e66ab734ec88b6084a10c4446">CInstructionDiv</a>, <a class="el" href="classCInstructionLoad.html#35c051515ccd6a12dbb39ab4b2e33ded">CInstructionLoad</a>, <a class="el" href="classCInstructionStore.html#cab0d4c9bf2cc0d6b1b450ef9aeebcc0">CInstructionStore</a>, <a class="el" href="classCInstructionTest.html#9e4e1ac29b5173a70dc1172bbb096671">CInstructionTest</a>, <a class="el" href="classCInstructionLabel.html#66ba5bd6facecd45f3616fc94eb2845f">CInstructionLabel</a>, <a class="el" href="classCInstructionJumpA.html#d7679ea0d70ab9725f84dcce76adc057">CInstructionJumpA</a>, <a class="el" href="classCInstructionJumpZ.html#e0750f1ce4a5746be3317024f4ef92eb">CInstructionJumpZ</a>, <a class="el" href="classCInstructionJumpS.html#4b25703a62dafb568700dcad217f7ba6">CInstructionJumpS</a>, and <a class="el" href="classCInstructionWrite.html#a33ddc8fb13dfaa253704eb0952f3cea">CInstructionWrite</a>.</p>
427
428</div>
429</div><p>
430<a class="anchor" name="15e2ce88b04fcf208ba43c43f7dd57aa"></a><!-- doxytag: member="CInstruction::compile" ref="15e2ce88b04fcf208ba43c43f7dd57aa" args="(std::list&lt; std::string &gt; &amp;params)=0" -->
431<div class="memitem">
432<div class="memproto">
433 <table class="memname">
434 <tr>
435 <td class="memname">virtual void CInstruction::compile </td>
436 <td>(</td>
437 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
438 <td class="paramname"> <em>params</em> </td>
439 <td>&nbsp;)&nbsp;</td>
440 <td width="100%"><code> [pure virtual]</code></td>
441 </tr>
442 </table>
443</div>
444<div class="memdoc">
445
446<p>
447parses instruction parameters and prepares the instruction for executing
448<p>
449<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
450<dl compact><dt><b>Parameters:</b></dt><dd>
451 <table border="0" cellspacing="2" cellpadding="0">
452 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
453 </table>
454</dl>
455<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
456<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
457<dl compact><dt><b>Exceptions:</b></dt><dd>
458 <table border="0" cellspacing="2" cellpadding="0">
459 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
460 </table>
461</dl>
462<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
463
464<p>Implemented in <a class="el" href="classCInstructionInc.html#ae36e952ec66b1c5cc2fb7e7c80064cc">CInstructionInc</a>, <a class="el" href="classCInstructionDec.html#84347e9b3a373bafc5c1ae79a557f4c3">CInstructionDec</a>, <a class="el" href="classCInstructionAdd.html#1da9f4b4016d27f2866add0b91e3b0fc">CInstructionAdd</a>, <a class="el" href="classCInstructionSub.html#9fe6d8f0f805313c98f8806a4739cbe9">CInstructionSub</a>, <a class="el" href="classCInstructionMul.html#188024d90dd19fcea0687d32e98c67a7">CInstructionMul</a>, <a class="el" href="classCInstructionDiv.html#349324231c5516886d99caf07ecb8c0c">CInstructionDiv</a>, <a class="el" href="classCInstructionLoad.html#4aa70fe481286e0bcc27f7a9ce896d3d">CInstructionLoad</a>, <a class="el" href="classCInstructionStore.html#9848bf36bd3ec75ae481d8ef1f36c6ee">CInstructionStore</a>, <a class="el" href="classCInstructionTest.html#b09f0e02ab71b01af6eda0152d1fc975">CInstructionTest</a>, <a class="el" href="classCInstructionLabel.html#321fd849ae169d900964431b4100321f">CInstructionLabel</a>, <a class="el" href="classCInstructionJumpA.html#f772a57214b192263594d2ff46f03a1e">CInstructionJumpA</a>, <a class="el" href="classCInstructionJumpZ.html#e4c05192b829d2bcc1e838de195ef3d9">CInstructionJumpZ</a>, <a class="el" href="classCInstructionJumpS.html#671d749a6e93f26851879c4ceac09f4c">CInstructionJumpS</a>, and <a class="el" href="classCInstructionWrite.html#23f5bb8e4b8a74f7a8703d593323b991">CInstructionWrite</a>.</p>
465
466</div>
467</div><p>
468<a class="anchor" name="127fd09a772e9f584550cd342af770d1"></a><!-- doxytag: member="CInstruction::execute" ref="127fd09a772e9f584550cd342af770d1" args="(CCPU *cpu)=0" -->
469<div class="memitem">
470<div class="memproto">
471 <table class="memname">
472 <tr>
473 <td class="memname">virtual void CInstruction::execute </td>
474 <td>(</td>
475 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
476 <td class="paramname"> <em>cpu</em> </td>
477 <td>&nbsp;)&nbsp;</td>
478 <td width="100%"><code> [pure virtual]</code></td>
479 </tr>
480 </table>
481</div>
482<div class="memdoc">
483
484<p>
485executes the instruction
486<p>
487<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
488<dl compact><dt><b>Parameters:</b></dt><dd>
489 <table border="0" cellspacing="2" cellpadding="0">
490 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
491 </table>
492</dl>
493<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
494<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
495<dl compact><dt><b>Exceptions:</b></dt><dd>
496 <table border="0" cellspacing="2" cellpadding="0">
497 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
498 </table>
499</dl>
500<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
501
502<p>Implemented in <a class="el" href="classCInstructionInc.html#2830b4c1aa89410e309821119ecf4d6f">CInstructionInc</a>, <a class="el" href="classCInstructionDec.html#b0a51da3b41aaa4e3e51baaa4151ebca">CInstructionDec</a>, <a class="el" href="classCInstructionAdd.html#3c6844fd425de436ba3e7fbc98fd69e8">CInstructionAdd</a>, <a class="el" href="classCInstructionSub.html#03e098595198d4cc2f45d906e45e7f28">CInstructionSub</a>, <a class="el" href="classCInstructionMul.html#0675f51cbfb5d0d76e605f64b0b2555c">CInstructionMul</a>, <a class="el" href="classCInstructionDiv.html#7fee4e02bc6904c9d6039aa467aed1f4">CInstructionDiv</a>, <a class="el" href="classCInstructionLoad.html#fdda1d554401f9bfd32a6300f5ad2bb6">CInstructionLoad</a>, <a class="el" href="classCInstructionStore.html#fd5ee6692540613ee8cc9a2bf8ff920a">CInstructionStore</a>, <a class="el" href="classCInstructionTest.html#955cf58c41c9e305059baea28b65cf3a">CInstructionTest</a>, <a class="el" href="classCInstructionLabel.html#665f2fc395ffed3bd968659f67868f53">CInstructionLabel</a>, <a class="el" href="classCInstructionJumpA.html#76daeedb9c7cb3be0173580be9390887">CInstructionJumpA</a>, <a class="el" href="classCInstructionJumpZ.html#92f15deda156ebd20e8af47589753783">CInstructionJumpZ</a>, <a class="el" href="classCInstructionJumpS.html#8c2e8e077463e64ca64204bb6ed20f71">CInstructionJumpS</a>, and <a class="el" href="classCInstructionWrite.html#1852e50c21b758a4db205a6cd20e208d">CInstructionWrite</a>.</p>
503
504</div>
505</div><p>
506<hr><h2>Friends And Related Function Documentation</h2>
507<a class="anchor" name="7651b4c147411bca34a0393adf03507d"></a><!-- doxytag: member="CInstruction::operator&lt;&lt;" ref="7651b4c147411bca34a0393adf03507d" args="(std::ostream &amp;stream, CInstruction &amp;instr)" -->
508<div class="memitem">
509<div class="memproto">
510 <table class="memname">
511 <tr>
512 <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
513 <td>(</td>
514 <td class="paramtype">std::ostream &amp;&nbsp;</td>
515 <td class="paramname"> <em>stream</em>, </td>
516 </tr>
517 <tr>
518 <td class="paramkey"></td>
519 <td></td>
520 <td class="paramtype"><a class="el" href="classCInstruction.html">CInstruction</a> &amp;&nbsp;</td>
521 <td class="paramname"> <em>instr</em></td><td>&nbsp;</td>
522 </tr>
523 <tr>
524 <td></td>
525 <td>)</td>
526 <td></td><td></td><td width="100%"><code> [friend]</code></td>
527 </tr>
528 </table>
529</div>
530<div class="memdoc">
531
532<p>
533Shift/output operator for outputstream.
534<p>
535<dl class="user" compact><dt><b>Methodname:</b></dt><dd>operator&lt;&lt; </dd></dl>
536<dl compact><dt><b>Parameters:</b></dt><dd>
537 <table border="0" cellspacing="2" cellpadding="0">
538 <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>reference to outputstream </td></tr>
539 <tr><td valign="top"></td><td valign="top"><em>instr</em>&nbsp;</td><td>object which will be printed to stream </td></tr>
540 </table>
541</dl>
542<dl class="return" compact><dt><b>Returns:</b></dt><dd>reference to outputstream </dd></dl>
543<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
544<dl compact><dt><b>Exceptions:</b></dt><dd>
545 <table border="0" cellspacing="2" cellpadding="0">
546 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
547 </table>
548</dl>
549<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
550
551</div>
552</div><p>
553<hr><h2>Member Data Documentation</h2>
554<a class="anchor" name="0c3b94ae1323d6201d2afd20c8686194"></a><!-- doxytag: member="CInstruction::m_name" ref="0c3b94ae1323d6201d2afd20c8686194" args="" -->
555<div class="memitem">
556<div class="memproto">
557 <table class="memname">
558 <tr>
559 <td class="memname">std::string <a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">CInstruction::m_name</a><code> [protected]</code> </td>
560 </tr>
561 </table>
562</div>
563<div class="memdoc">
564
565<p>
566name of instruction
567</div>
568</div><p>
569<hr>The documentation for this class was generated from the following files:<ul>
570<li>mycpu/<a class="el" href="cinstruction_8h-source.html">cinstruction.h</a><li>mycpu/cinstruction.cpp</ul>
571<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
572<a href="http://www.doxygen.org/index.html">
573<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
574</body>
575</html>
diff --git a/ue3/doxygen/classCInstruction.png b/ue3/doxygen/classCInstruction.png
new file mode 100644
index 0000000..e04bf41
--- /dev/null
+++ b/ue3/doxygen/classCInstruction.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionAdd-members.html b/ue3/doxygen/classCInstructionAdd-members.html
new file mode 100644
index 0000000..c53ae2e
--- /dev/null
+++ b/ue3/doxygen/classCInstructionAdd-members.html
@@ -0,0 +1,45 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionAdd Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionAdd.html">CInstructionAdd</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionAdd</b>() (defined in <a class="el" href="classCInstructionAdd.html">CInstructionAdd</a>)</td><td><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionAdd.html#1da9f4b4016d27f2866add0b91e3b0fc">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionAdd.html#3c6844fd425de436ba3e7fbc98fd69e8">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionAdd.html#6fa9bae98f84f5ae34946641fb03ff32">factory</a>()</td><td><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionAdd.html#2808878fbfbee48f1c300bdd976446f4">m_regidx1</a></td><td><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstructionAdd.html#98e9005e15d5eb69ce561a91348a3a91">m_regidx2</a></td><td><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a></td><td><code> [protected]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstructionAdd.html#1c5979587fea23262a9bc593b9dc61a3">m_regidx3</a></td><td><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a></td><td><code> [protected]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
40 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
41</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
42<a href="http://www.doxygen.org/index.html">
43<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
44</body>
45</html>
diff --git a/ue3/doxygen/classCInstructionAdd.html b/ue3/doxygen/classCInstructionAdd.html
new file mode 100644
index 0000000..a659978
--- /dev/null
+++ b/ue3/doxygen/classCInstructionAdd.html
@@ -0,0 +1,223 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionAdd Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionAdd Class Reference</h1><!-- doxytag: class="CInstructionAdd" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionAdd:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionAdd.png" usemap="#CInstructionAdd_map" border="0" alt=""></center>
30<map name="CInstructionAdd_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,102,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionAdd-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionAdd.html#6fa9bae98f84f5ae34946641fb03ff32">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#6fa9bae98f84f5ae34946641fb03ff32"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionAdd.html#1da9f4b4016d27f2866add0b91e3b0fc">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#1da9f4b4016d27f2866add0b91e3b0fc"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionAdd.html#3c6844fd425de436ba3e7fbc98fd69e8">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#3c6844fd425de436ba3e7fbc98fd69e8"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionAdd.html#2808878fbfbee48f1c300bdd976446f4">m_regidx1</a></td></tr>
50
51<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionAdd.html#98e9005e15d5eb69ce561a91348a3a91">m_regidx2</a></td></tr>
52
53<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionAdd.html#1c5979587fea23262a9bc593b9dc61a3">m_regidx3</a></td></tr>
54
55</table>
56<hr><a name="_details"></a><h2>Detailed Description</h2>
57Implementation of assembler command "add" Syntax: add R1, R2, R3 (R1 = R2 + R3) <hr><h2>Member Function Documentation</h2>
58<a class="anchor" name="6fa9bae98f84f5ae34946641fb03ff32"></a><!-- doxytag: member="CInstructionAdd::factory" ref="6fa9bae98f84f5ae34946641fb03ff32" args="()" -->
59<div class="memitem">
60<div class="memproto">
61 <table class="memname">
62 <tr>
63 <td class="memname"><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a>* CInstructionAdd::factory </td>
64 <td>(</td>
65 <td class="paramname"> </td>
66 <td>&nbsp;)&nbsp;</td>
67 <td width="100%"><code> [inline, virtual]</code></td>
68 </tr>
69 </table>
70</div>
71<div class="memdoc">
72
73<p>
74creates a new instance of this instruction
75<p>
76<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
77<dl compact><dt><b>Parameters:</b></dt><dd>
78 <table border="0" cellspacing="2" cellpadding="0">
79 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
80 </table>
81</dl>
82<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
83<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
84<dl compact><dt><b>Exceptions:</b></dt><dd>
85 <table border="0" cellspacing="2" cellpadding="0">
86 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
87 </table>
88</dl>
89<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
90
91<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
92
93</div>
94</div><p>
95<a class="anchor" name="1da9f4b4016d27f2866add0b91e3b0fc"></a><!-- doxytag: member="CInstructionAdd::compile" ref="1da9f4b4016d27f2866add0b91e3b0fc" args="(std::list&lt; std::string &gt; &amp;params)" -->
96<div class="memitem">
97<div class="memproto">
98 <table class="memname">
99 <tr>
100 <td class="memname">void CInstructionAdd::compile </td>
101 <td>(</td>
102 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
103 <td class="paramname"> <em>params</em> </td>
104 <td>&nbsp;)&nbsp;</td>
105 <td width="100%"><code> [virtual]</code></td>
106 </tr>
107 </table>
108</div>
109<div class="memdoc">
110
111<p>
112parses instruction parameters and prepares the instruction for executing
113<p>
114<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
115<dl compact><dt><b>Parameters:</b></dt><dd>
116 <table border="0" cellspacing="2" cellpadding="0">
117 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
118 </table>
119</dl>
120<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
121<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
122<dl compact><dt><b>Exceptions:</b></dt><dd>
123 <table border="0" cellspacing="2" cellpadding="0">
124 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
125 </table>
126</dl>
127<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
128
129<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
130
131</div>
132</div><p>
133<a class="anchor" name="3c6844fd425de436ba3e7fbc98fd69e8"></a><!-- doxytag: member="CInstructionAdd::execute" ref="3c6844fd425de436ba3e7fbc98fd69e8" args="(CCPU *cpu)" -->
134<div class="memitem">
135<div class="memproto">
136 <table class="memname">
137 <tr>
138 <td class="memname">void CInstructionAdd::execute </td>
139 <td>(</td>
140 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
141 <td class="paramname"> <em>cpu</em> </td>
142 <td>&nbsp;)&nbsp;</td>
143 <td width="100%"><code> [virtual]</code></td>
144 </tr>
145 </table>
146</div>
147<div class="memdoc">
148
149<p>
150executes the instruction
151<p>
152<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
153<dl compact><dt><b>Parameters:</b></dt><dd>
154 <table border="0" cellspacing="2" cellpadding="0">
155 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
156 </table>
157</dl>
158<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
159<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
160<dl compact><dt><b>Exceptions:</b></dt><dd>
161 <table border="0" cellspacing="2" cellpadding="0">
162 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
163 </table>
164</dl>
165<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
166
167<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
168
169</div>
170</div><p>
171<hr><h2>Member Data Documentation</h2>
172<a class="anchor" name="2808878fbfbee48f1c300bdd976446f4"></a><!-- doxytag: member="CInstructionAdd::m_regidx1" ref="2808878fbfbee48f1c300bdd976446f4" args="" -->
173<div class="memitem">
174<div class="memproto">
175 <table class="memname">
176 <tr>
177 <td class="memname">unsigned <a class="el" href="classCInstructionAdd.html#2808878fbfbee48f1c300bdd976446f4">CInstructionAdd::m_regidx1</a><code> [protected]</code> </td>
178 </tr>
179 </table>
180</div>
181<div class="memdoc">
182
183<p>
184register number
185</div>
186</div><p>
187<a class="anchor" name="98e9005e15d5eb69ce561a91348a3a91"></a><!-- doxytag: member="CInstructionAdd::m_regidx2" ref="98e9005e15d5eb69ce561a91348a3a91" args="" -->
188<div class="memitem">
189<div class="memproto">
190 <table class="memname">
191 <tr>
192 <td class="memname">unsigned <a class="el" href="classCInstructionAdd.html#98e9005e15d5eb69ce561a91348a3a91">CInstructionAdd::m_regidx2</a><code> [protected]</code> </td>
193 </tr>
194 </table>
195</div>
196<div class="memdoc">
197
198<p>
199register number
200</div>
201</div><p>
202<a class="anchor" name="1c5979587fea23262a9bc593b9dc61a3"></a><!-- doxytag: member="CInstructionAdd::m_regidx3" ref="1c5979587fea23262a9bc593b9dc61a3" args="" -->
203<div class="memitem">
204<div class="memproto">
205 <table class="memname">
206 <tr>
207 <td class="memname">unsigned <a class="el" href="classCInstructionAdd.html#1c5979587fea23262a9bc593b9dc61a3">CInstructionAdd::m_regidx3</a><code> [protected]</code> </td>
208 </tr>
209 </table>
210</div>
211<div class="memdoc">
212
213<p>
214register number
215</div>
216</div><p>
217<hr>The documentation for this class was generated from the following files:<ul>
218<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
219<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
220<a href="http://www.doxygen.org/index.html">
221<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
222</body>
223</html>
diff --git a/ue3/doxygen/classCInstructionAdd.png b/ue3/doxygen/classCInstructionAdd.png
new file mode 100644
index 0000000..02a7e9c
--- /dev/null
+++ b/ue3/doxygen/classCInstructionAdd.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionDec-members.html b/ue3/doxygen/classCInstructionDec-members.html
new file mode 100644
index 0000000..f177e69
--- /dev/null
+++ b/ue3/doxygen/classCInstructionDec-members.html
@@ -0,0 +1,43 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionDec Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionDec.html">CInstructionDec</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionDec</b>() (defined in <a class="el" href="classCInstructionDec.html">CInstructionDec</a>)</td><td><a class="el" href="classCInstructionDec.html">CInstructionDec</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionDec.html#84347e9b3a373bafc5c1ae79a557f4c3">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionDec.html">CInstructionDec</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionDec.html#b0a51da3b41aaa4e3e51baaa4151ebca">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionDec.html">CInstructionDec</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionDec.html#5aa3bcd55f05765e25758f45f4f55059">factory</a>()</td><td><a class="el" href="classCInstructionDec.html">CInstructionDec</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionDec.html#4ea09ae25025e93c2790d5dc1536f41c">m_regidx1</a></td><td><a class="el" href="classCInstructionDec.html">CInstructionDec</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
40<a href="http://www.doxygen.org/index.html">
41<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
42</body>
43</html>
diff --git a/ue3/doxygen/classCInstructionDec.html b/ue3/doxygen/classCInstructionDec.html
new file mode 100644
index 0000000..b32ffa7
--- /dev/null
+++ b/ue3/doxygen/classCInstructionDec.html
@@ -0,0 +1,189 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionDec Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionDec Class Reference</h1><!-- doxytag: class="CInstructionDec" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionDec:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionDec.png" usemap="#CInstructionDec_map" border="0" alt=""></center>
30<map name="CInstructionDec_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,102,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionDec-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionDec.html">CInstructionDec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDec.html#5aa3bcd55f05765e25758f45f4f55059">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#5aa3bcd55f05765e25758f45f4f55059"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDec.html#84347e9b3a373bafc5c1ae79a557f4c3">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#84347e9b3a373bafc5c1ae79a557f4c3"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDec.html#b0a51da3b41aaa4e3e51baaa4151ebca">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#b0a51da3b41aaa4e3e51baaa4151ebca"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDec.html#4ea09ae25025e93c2790d5dc1536f41c">m_regidx1</a></td></tr>
50
51</table>
52<hr><a name="_details"></a><h2>Detailed Description</h2>
53Implementation of assembler command "dec" Syntax: dec R1 (R1--) <hr><h2>Member Function Documentation</h2>
54<a class="anchor" name="5aa3bcd55f05765e25758f45f4f55059"></a><!-- doxytag: member="CInstructionDec::factory" ref="5aa3bcd55f05765e25758f45f4f55059" args="()" -->
55<div class="memitem">
56<div class="memproto">
57 <table class="memname">
58 <tr>
59 <td class="memname"><a class="el" href="classCInstructionDec.html">CInstructionDec</a>* CInstructionDec::factory </td>
60 <td>(</td>
61 <td class="paramname"> </td>
62 <td>&nbsp;)&nbsp;</td>
63 <td width="100%"><code> [inline, virtual]</code></td>
64 </tr>
65 </table>
66</div>
67<div class="memdoc">
68
69<p>
70creates a new instance of this instruction
71<p>
72<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
73<dl compact><dt><b>Parameters:</b></dt><dd>
74 <table border="0" cellspacing="2" cellpadding="0">
75 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
76 </table>
77</dl>
78<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
79<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
80<dl compact><dt><b>Exceptions:</b></dt><dd>
81 <table border="0" cellspacing="2" cellpadding="0">
82 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
83 </table>
84</dl>
85<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
86
87<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
88
89</div>
90</div><p>
91<a class="anchor" name="84347e9b3a373bafc5c1ae79a557f4c3"></a><!-- doxytag: member="CInstructionDec::compile" ref="84347e9b3a373bafc5c1ae79a557f4c3" args="(std::list&lt; std::string &gt; &amp;params)" -->
92<div class="memitem">
93<div class="memproto">
94 <table class="memname">
95 <tr>
96 <td class="memname">void CInstructionDec::compile </td>
97 <td>(</td>
98 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
99 <td class="paramname"> <em>params</em> </td>
100 <td>&nbsp;)&nbsp;</td>
101 <td width="100%"><code> [virtual]</code></td>
102 </tr>
103 </table>
104</div>
105<div class="memdoc">
106
107<p>
108parses instruction parameters and prepares the instruction for executing
109<p>
110<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
111<dl compact><dt><b>Parameters:</b></dt><dd>
112 <table border="0" cellspacing="2" cellpadding="0">
113 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
114 </table>
115</dl>
116<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
117<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
118<dl compact><dt><b>Exceptions:</b></dt><dd>
119 <table border="0" cellspacing="2" cellpadding="0">
120 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
121 </table>
122</dl>
123<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
124
125<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
126
127</div>
128</div><p>
129<a class="anchor" name="b0a51da3b41aaa4e3e51baaa4151ebca"></a><!-- doxytag: member="CInstructionDec::execute" ref="b0a51da3b41aaa4e3e51baaa4151ebca" args="(CCPU *cpu)" -->
130<div class="memitem">
131<div class="memproto">
132 <table class="memname">
133 <tr>
134 <td class="memname">void CInstructionDec::execute </td>
135 <td>(</td>
136 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
137 <td class="paramname"> <em>cpu</em> </td>
138 <td>&nbsp;)&nbsp;</td>
139 <td width="100%"><code> [virtual]</code></td>
140 </tr>
141 </table>
142</div>
143<div class="memdoc">
144
145<p>
146executes the instruction
147<p>
148<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
149<dl compact><dt><b>Parameters:</b></dt><dd>
150 <table border="0" cellspacing="2" cellpadding="0">
151 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
152 </table>
153</dl>
154<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
155<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
156<dl compact><dt><b>Exceptions:</b></dt><dd>
157 <table border="0" cellspacing="2" cellpadding="0">
158 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
159 </table>
160</dl>
161<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
162
163<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
164
165</div>
166</div><p>
167<hr><h2>Member Data Documentation</h2>
168<a class="anchor" name="4ea09ae25025e93c2790d5dc1536f41c"></a><!-- doxytag: member="CInstructionDec::m_regidx1" ref="4ea09ae25025e93c2790d5dc1536f41c" args="" -->
169<div class="memitem">
170<div class="memproto">
171 <table class="memname">
172 <tr>
173 <td class="memname">unsigned <a class="el" href="classCInstructionDec.html#4ea09ae25025e93c2790d5dc1536f41c">CInstructionDec::m_regidx1</a><code> [protected]</code> </td>
174 </tr>
175 </table>
176</div>
177<div class="memdoc">
178
179<p>
180register number
181</div>
182</div><p>
183<hr>The documentation for this class was generated from the following files:<ul>
184<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
185<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
186<a href="http://www.doxygen.org/index.html">
187<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
188</body>
189</html>
diff --git a/ue3/doxygen/classCInstructionDec.png b/ue3/doxygen/classCInstructionDec.png
new file mode 100644
index 0000000..9cf686c
--- /dev/null
+++ b/ue3/doxygen/classCInstructionDec.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionDiv-members.html b/ue3/doxygen/classCInstructionDiv-members.html
new file mode 100644
index 0000000..57ac77e
--- /dev/null
+++ b/ue3/doxygen/classCInstructionDiv-members.html
@@ -0,0 +1,45 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionDiv Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionDiv.html">CInstructionDiv</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionDiv</b>() (defined in <a class="el" href="classCInstructionDiv.html">CInstructionDiv</a>)</td><td><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionDiv.html#349324231c5516886d99caf07ecb8c0c">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionDiv.html#7fee4e02bc6904c9d6039aa467aed1f4">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionDiv.html#3445767e66ab734ec88b6084a10c4446">factory</a>()</td><td><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionDiv.html#356508c5c90a345bdd0055385227852f">m_regidx1</a></td><td><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstructionDiv.html#5a9c4be1386df1fa866927336abe3054">m_regidx2</a></td><td><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a></td><td><code> [protected]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstructionDiv.html#3e7033bb26ef68b051b0da8a8279df85">m_regidx3</a></td><td><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a></td><td><code> [protected]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
40 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
41</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
42<a href="http://www.doxygen.org/index.html">
43<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
44</body>
45</html>
diff --git a/ue3/doxygen/classCInstructionDiv.html b/ue3/doxygen/classCInstructionDiv.html
new file mode 100644
index 0000000..2bc0023
--- /dev/null
+++ b/ue3/doxygen/classCInstructionDiv.html
@@ -0,0 +1,223 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionDiv Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionDiv Class Reference</h1><!-- doxytag: class="CInstructionDiv" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionDiv:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionDiv.png" usemap="#CInstructionDiv_map" border="0" alt=""></center>
30<map name="CInstructionDiv_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,98,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionDiv-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDiv.html#3445767e66ab734ec88b6084a10c4446">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#3445767e66ab734ec88b6084a10c4446"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDiv.html#349324231c5516886d99caf07ecb8c0c">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#349324231c5516886d99caf07ecb8c0c"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDiv.html#7fee4e02bc6904c9d6039aa467aed1f4">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#7fee4e02bc6904c9d6039aa467aed1f4"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDiv.html#356508c5c90a345bdd0055385227852f">m_regidx1</a></td></tr>
50
51<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDiv.html#5a9c4be1386df1fa866927336abe3054">m_regidx2</a></td></tr>
52
53<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionDiv.html#3e7033bb26ef68b051b0da8a8279df85">m_regidx3</a></td></tr>
54
55</table>
56<hr><a name="_details"></a><h2>Detailed Description</h2>
57Implementation of assembler command "div" Syntax: div R1, R2, R3 (R1 = R2 / R3) <hr><h2>Member Function Documentation</h2>
58<a class="anchor" name="3445767e66ab734ec88b6084a10c4446"></a><!-- doxytag: member="CInstructionDiv::factory" ref="3445767e66ab734ec88b6084a10c4446" args="()" -->
59<div class="memitem">
60<div class="memproto">
61 <table class="memname">
62 <tr>
63 <td class="memname"><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a>* CInstructionDiv::factory </td>
64 <td>(</td>
65 <td class="paramname"> </td>
66 <td>&nbsp;)&nbsp;</td>
67 <td width="100%"><code> [inline, virtual]</code></td>
68 </tr>
69 </table>
70</div>
71<div class="memdoc">
72
73<p>
74creates a new instance of this instruction
75<p>
76<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
77<dl compact><dt><b>Parameters:</b></dt><dd>
78 <table border="0" cellspacing="2" cellpadding="0">
79 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
80 </table>
81</dl>
82<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
83<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
84<dl compact><dt><b>Exceptions:</b></dt><dd>
85 <table border="0" cellspacing="2" cellpadding="0">
86 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
87 </table>
88</dl>
89<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
90
91<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
92
93</div>
94</div><p>
95<a class="anchor" name="349324231c5516886d99caf07ecb8c0c"></a><!-- doxytag: member="CInstructionDiv::compile" ref="349324231c5516886d99caf07ecb8c0c" args="(std::list&lt; std::string &gt; &amp;params)" -->
96<div class="memitem">
97<div class="memproto">
98 <table class="memname">
99 <tr>
100 <td class="memname">void CInstructionDiv::compile </td>
101 <td>(</td>
102 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
103 <td class="paramname"> <em>params</em> </td>
104 <td>&nbsp;)&nbsp;</td>
105 <td width="100%"><code> [virtual]</code></td>
106 </tr>
107 </table>
108</div>
109<div class="memdoc">
110
111<p>
112parses instruction parameters and prepares the instruction for executing
113<p>
114<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
115<dl compact><dt><b>Parameters:</b></dt><dd>
116 <table border="0" cellspacing="2" cellpadding="0">
117 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
118 </table>
119</dl>
120<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
121<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
122<dl compact><dt><b>Exceptions:</b></dt><dd>
123 <table border="0" cellspacing="2" cellpadding="0">
124 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
125 </table>
126</dl>
127<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
128
129<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
130
131</div>
132</div><p>
133<a class="anchor" name="7fee4e02bc6904c9d6039aa467aed1f4"></a><!-- doxytag: member="CInstructionDiv::execute" ref="7fee4e02bc6904c9d6039aa467aed1f4" args="(CCPU *cpu)" -->
134<div class="memitem">
135<div class="memproto">
136 <table class="memname">
137 <tr>
138 <td class="memname">void CInstructionDiv::execute </td>
139 <td>(</td>
140 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
141 <td class="paramname"> <em>cpu</em> </td>
142 <td>&nbsp;)&nbsp;</td>
143 <td width="100%"><code> [virtual]</code></td>
144 </tr>
145 </table>
146</div>
147<div class="memdoc">
148
149<p>
150executes the instruction
151<p>
152<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
153<dl compact><dt><b>Parameters:</b></dt><dd>
154 <table border="0" cellspacing="2" cellpadding="0">
155 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
156 </table>
157</dl>
158<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
159<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
160<dl compact><dt><b>Exceptions:</b></dt><dd>
161 <table border="0" cellspacing="2" cellpadding="0">
162 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
163 </table>
164</dl>
165<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
166
167<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
168
169</div>
170</div><p>
171<hr><h2>Member Data Documentation</h2>
172<a class="anchor" name="356508c5c90a345bdd0055385227852f"></a><!-- doxytag: member="CInstructionDiv::m_regidx1" ref="356508c5c90a345bdd0055385227852f" args="" -->
173<div class="memitem">
174<div class="memproto">
175 <table class="memname">
176 <tr>
177 <td class="memname">unsigned <a class="el" href="classCInstructionDiv.html#356508c5c90a345bdd0055385227852f">CInstructionDiv::m_regidx1</a><code> [protected]</code> </td>
178 </tr>
179 </table>
180</div>
181<div class="memdoc">
182
183<p>
184register number
185</div>
186</div><p>
187<a class="anchor" name="5a9c4be1386df1fa866927336abe3054"></a><!-- doxytag: member="CInstructionDiv::m_regidx2" ref="5a9c4be1386df1fa866927336abe3054" args="" -->
188<div class="memitem">
189<div class="memproto">
190 <table class="memname">
191 <tr>
192 <td class="memname">unsigned <a class="el" href="classCInstructionDiv.html#5a9c4be1386df1fa866927336abe3054">CInstructionDiv::m_regidx2</a><code> [protected]</code> </td>
193 </tr>
194 </table>
195</div>
196<div class="memdoc">
197
198<p>
199register number
200</div>
201</div><p>
202<a class="anchor" name="3e7033bb26ef68b051b0da8a8279df85"></a><!-- doxytag: member="CInstructionDiv::m_regidx3" ref="3e7033bb26ef68b051b0da8a8279df85" args="" -->
203<div class="memitem">
204<div class="memproto">
205 <table class="memname">
206 <tr>
207 <td class="memname">unsigned <a class="el" href="classCInstructionDiv.html#3e7033bb26ef68b051b0da8a8279df85">CInstructionDiv::m_regidx3</a><code> [protected]</code> </td>
208 </tr>
209 </table>
210</div>
211<div class="memdoc">
212
213<p>
214register number
215</div>
216</div><p>
217<hr>The documentation for this class was generated from the following files:<ul>
218<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
219<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
220<a href="http://www.doxygen.org/index.html">
221<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
222</body>
223</html>
diff --git a/ue3/doxygen/classCInstructionDiv.png b/ue3/doxygen/classCInstructionDiv.png
new file mode 100644
index 0000000..11ede71
--- /dev/null
+++ b/ue3/doxygen/classCInstructionDiv.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionInc-members.html b/ue3/doxygen/classCInstructionInc-members.html
new file mode 100644
index 0000000..5d66408
--- /dev/null
+++ b/ue3/doxygen/classCInstructionInc-members.html
@@ -0,0 +1,43 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionInc Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionInc.html">CInstructionInc</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionInc</b>() (defined in <a class="el" href="classCInstructionInc.html">CInstructionInc</a>)</td><td><a class="el" href="classCInstructionInc.html">CInstructionInc</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionInc.html#ae36e952ec66b1c5cc2fb7e7c80064cc">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionInc.html">CInstructionInc</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionInc.html#2830b4c1aa89410e309821119ecf4d6f">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionInc.html">CInstructionInc</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionInc.html#d55c35cbbd5c88fd29a392051e79f5f1">factory</a>()</td><td><a class="el" href="classCInstructionInc.html">CInstructionInc</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionInc.html#b910df5b37f4d1352736913ee0cb7fb0">m_regidx1</a></td><td><a class="el" href="classCInstructionInc.html">CInstructionInc</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
40<a href="http://www.doxygen.org/index.html">
41<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
42</body>
43</html>
diff --git a/ue3/doxygen/classCInstructionInc.html b/ue3/doxygen/classCInstructionInc.html
new file mode 100644
index 0000000..4756c23
--- /dev/null
+++ b/ue3/doxygen/classCInstructionInc.html
@@ -0,0 +1,189 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionInc Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionInc Class Reference</h1><!-- doxytag: class="CInstructionInc" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionInc:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionInc.png" usemap="#CInstructionInc_map" border="0" alt=""></center>
30<map name="CInstructionInc_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,96,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionInc-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionInc.html">CInstructionInc</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionInc.html#d55c35cbbd5c88fd29a392051e79f5f1">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#d55c35cbbd5c88fd29a392051e79f5f1"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionInc.html#ae36e952ec66b1c5cc2fb7e7c80064cc">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#ae36e952ec66b1c5cc2fb7e7c80064cc"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionInc.html#2830b4c1aa89410e309821119ecf4d6f">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#2830b4c1aa89410e309821119ecf4d6f"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionInc.html#b910df5b37f4d1352736913ee0cb7fb0">m_regidx1</a></td></tr>
50
51</table>
52<hr><a name="_details"></a><h2>Detailed Description</h2>
53Implementation of assembler command "inc" Syntax: inc R1 (R1++) <hr><h2>Member Function Documentation</h2>
54<a class="anchor" name="d55c35cbbd5c88fd29a392051e79f5f1"></a><!-- doxytag: member="CInstructionInc::factory" ref="d55c35cbbd5c88fd29a392051e79f5f1" args="()" -->
55<div class="memitem">
56<div class="memproto">
57 <table class="memname">
58 <tr>
59 <td class="memname"><a class="el" href="classCInstructionInc.html">CInstructionInc</a>* CInstructionInc::factory </td>
60 <td>(</td>
61 <td class="paramname"> </td>
62 <td>&nbsp;)&nbsp;</td>
63 <td width="100%"><code> [inline, virtual]</code></td>
64 </tr>
65 </table>
66</div>
67<div class="memdoc">
68
69<p>
70creates a new instance of this instruction
71<p>
72<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
73<dl compact><dt><b>Parameters:</b></dt><dd>
74 <table border="0" cellspacing="2" cellpadding="0">
75 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
76 </table>
77</dl>
78<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
79<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
80<dl compact><dt><b>Exceptions:</b></dt><dd>
81 <table border="0" cellspacing="2" cellpadding="0">
82 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
83 </table>
84</dl>
85<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
86
87<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
88
89</div>
90</div><p>
91<a class="anchor" name="ae36e952ec66b1c5cc2fb7e7c80064cc"></a><!-- doxytag: member="CInstructionInc::compile" ref="ae36e952ec66b1c5cc2fb7e7c80064cc" args="(std::list&lt; std::string &gt; &amp;params)" -->
92<div class="memitem">
93<div class="memproto">
94 <table class="memname">
95 <tr>
96 <td class="memname">void CInstructionInc::compile </td>
97 <td>(</td>
98 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
99 <td class="paramname"> <em>params</em> </td>
100 <td>&nbsp;)&nbsp;</td>
101 <td width="100%"><code> [virtual]</code></td>
102 </tr>
103 </table>
104</div>
105<div class="memdoc">
106
107<p>
108parses instruction parameters and prepares the instruction for executing
109<p>
110<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
111<dl compact><dt><b>Parameters:</b></dt><dd>
112 <table border="0" cellspacing="2" cellpadding="0">
113 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
114 </table>
115</dl>
116<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
117<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
118<dl compact><dt><b>Exceptions:</b></dt><dd>
119 <table border="0" cellspacing="2" cellpadding="0">
120 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
121 </table>
122</dl>
123<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
124
125<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
126
127</div>
128</div><p>
129<a class="anchor" name="2830b4c1aa89410e309821119ecf4d6f"></a><!-- doxytag: member="CInstructionInc::execute" ref="2830b4c1aa89410e309821119ecf4d6f" args="(CCPU *cpu)" -->
130<div class="memitem">
131<div class="memproto">
132 <table class="memname">
133 <tr>
134 <td class="memname">void CInstructionInc::execute </td>
135 <td>(</td>
136 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
137 <td class="paramname"> <em>cpu</em> </td>
138 <td>&nbsp;)&nbsp;</td>
139 <td width="100%"><code> [virtual]</code></td>
140 </tr>
141 </table>
142</div>
143<div class="memdoc">
144
145<p>
146executes the instruction
147<p>
148<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
149<dl compact><dt><b>Parameters:</b></dt><dd>
150 <table border="0" cellspacing="2" cellpadding="0">
151 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
152 </table>
153</dl>
154<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
155<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
156<dl compact><dt><b>Exceptions:</b></dt><dd>
157 <table border="0" cellspacing="2" cellpadding="0">
158 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
159 </table>
160</dl>
161<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
162
163<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
164
165</div>
166</div><p>
167<hr><h2>Member Data Documentation</h2>
168<a class="anchor" name="b910df5b37f4d1352736913ee0cb7fb0"></a><!-- doxytag: member="CInstructionInc::m_regidx1" ref="b910df5b37f4d1352736913ee0cb7fb0" args="" -->
169<div class="memitem">
170<div class="memproto">
171 <table class="memname">
172 <tr>
173 <td class="memname">unsigned <a class="el" href="classCInstructionInc.html#b910df5b37f4d1352736913ee0cb7fb0">CInstructionInc::m_regidx1</a><code> [protected]</code> </td>
174 </tr>
175 </table>
176</div>
177<div class="memdoc">
178
179<p>
180register number
181</div>
182</div><p>
183<hr>The documentation for this class was generated from the following files:<ul>
184<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
185<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
186<a href="http://www.doxygen.org/index.html">
187<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
188</body>
189</html>
diff --git a/ue3/doxygen/classCInstructionInc.png b/ue3/doxygen/classCInstructionInc.png
new file mode 100644
index 0000000..8954718
--- /dev/null
+++ b/ue3/doxygen/classCInstructionInc.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionJumpA-members.html b/ue3/doxygen/classCInstructionJumpA-members.html
new file mode 100644
index 0000000..023a9a7
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpA-members.html
@@ -0,0 +1,43 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionJumpA Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionJumpA</b>() (defined in <a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a>)</td><td><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionJumpA.html#f772a57214b192263594d2ff46f03a1e">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionJumpA.html#76daeedb9c7cb3be0173580be9390887">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionJumpA.html#d7679ea0d70ab9725f84dcce76adc057">factory</a>()</td><td><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstructionJumpA.html#ee10410094e2b3781da3cb53c390fb9e">m_addr</a></td><td><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
40<a href="http://www.doxygen.org/index.html">
41<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
42</body>
43</html>
diff --git a/ue3/doxygen/classCInstructionJumpA.html b/ue3/doxygen/classCInstructionJumpA.html
new file mode 100644
index 0000000..edd2e4b
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpA.html
@@ -0,0 +1,189 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionJumpA Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionJumpA Class Reference</h1><!-- doxytag: class="CInstructionJumpA" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionJumpA:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionJumpA.png" usemap="#CInstructionJumpA_map" border="0" alt=""></center>
30<map name="CInstructionJumpA_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,118,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionJumpA-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpA.html#d7679ea0d70ab9725f84dcce76adc057">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#d7679ea0d70ab9725f84dcce76adc057"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpA.html#f772a57214b192263594d2ff46f03a1e">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#f772a57214b192263594d2ff46f03a1e"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpA.html#76daeedb9c7cb3be0173580be9390887">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#76daeedb9c7cb3be0173580be9390887"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpA.html#ee10410094e2b3781da3cb53c390fb9e">m_addr</a></td></tr>
50
51</table>
52<hr><a name="_details"></a><h2>Detailed Description</h2>
53Implementation of assembler command "jumpa" Syntax: jumpa labelname (jump to labelname) <hr><h2>Member Function Documentation</h2>
54<a class="anchor" name="d7679ea0d70ab9725f84dcce76adc057"></a><!-- doxytag: member="CInstructionJumpA::factory" ref="d7679ea0d70ab9725f84dcce76adc057" args="()" -->
55<div class="memitem">
56<div class="memproto">
57 <table class="memname">
58 <tr>
59 <td class="memname"><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a>* CInstructionJumpA::factory </td>
60 <td>(</td>
61 <td class="paramname"> </td>
62 <td>&nbsp;)&nbsp;</td>
63 <td width="100%"><code> [inline, virtual]</code></td>
64 </tr>
65 </table>
66</div>
67<div class="memdoc">
68
69<p>
70creates a new instance of this instruction
71<p>
72<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
73<dl compact><dt><b>Parameters:</b></dt><dd>
74 <table border="0" cellspacing="2" cellpadding="0">
75 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
76 </table>
77</dl>
78<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
79<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
80<dl compact><dt><b>Exceptions:</b></dt><dd>
81 <table border="0" cellspacing="2" cellpadding="0">
82 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
83 </table>
84</dl>
85<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
86
87<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
88
89</div>
90</div><p>
91<a class="anchor" name="f772a57214b192263594d2ff46f03a1e"></a><!-- doxytag: member="CInstructionJumpA::compile" ref="f772a57214b192263594d2ff46f03a1e" args="(std::list&lt; std::string &gt; &amp;params)" -->
92<div class="memitem">
93<div class="memproto">
94 <table class="memname">
95 <tr>
96 <td class="memname">void CInstructionJumpA::compile </td>
97 <td>(</td>
98 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
99 <td class="paramname"> <em>params</em> </td>
100 <td>&nbsp;)&nbsp;</td>
101 <td width="100%"><code> [virtual]</code></td>
102 </tr>
103 </table>
104</div>
105<div class="memdoc">
106
107<p>
108parses instruction parameters and prepares the instruction for executing
109<p>
110<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
111<dl compact><dt><b>Parameters:</b></dt><dd>
112 <table border="0" cellspacing="2" cellpadding="0">
113 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
114 </table>
115</dl>
116<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
117<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
118<dl compact><dt><b>Exceptions:</b></dt><dd>
119 <table border="0" cellspacing="2" cellpadding="0">
120 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
121 </table>
122</dl>
123<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
124
125<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
126
127</div>
128</div><p>
129<a class="anchor" name="76daeedb9c7cb3be0173580be9390887"></a><!-- doxytag: member="CInstructionJumpA::execute" ref="76daeedb9c7cb3be0173580be9390887" args="(CCPU *cpu)" -->
130<div class="memitem">
131<div class="memproto">
132 <table class="memname">
133 <tr>
134 <td class="memname">void CInstructionJumpA::execute </td>
135 <td>(</td>
136 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
137 <td class="paramname"> <em>cpu</em> </td>
138 <td>&nbsp;)&nbsp;</td>
139 <td width="100%"><code> [virtual]</code></td>
140 </tr>
141 </table>
142</div>
143<div class="memdoc">
144
145<p>
146executes the instruction
147<p>
148<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
149<dl compact><dt><b>Parameters:</b></dt><dd>
150 <table border="0" cellspacing="2" cellpadding="0">
151 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
152 </table>
153</dl>
154<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
155<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
156<dl compact><dt><b>Exceptions:</b></dt><dd>
157 <table border="0" cellspacing="2" cellpadding="0">
158 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
159 </table>
160</dl>
161<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
162
163<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
164
165</div>
166</div><p>
167<hr><h2>Member Data Documentation</h2>
168<a class="anchor" name="ee10410094e2b3781da3cb53c390fb9e"></a><!-- doxytag: member="CInstructionJumpA::m_addr" ref="ee10410094e2b3781da3cb53c390fb9e" args="" -->
169<div class="memitem">
170<div class="memproto">
171 <table class="memname">
172 <tr>
173 <td class="memname">std::string <a class="el" href="classCInstructionJumpA.html#ee10410094e2b3781da3cb53c390fb9e">CInstructionJumpA::m_addr</a><code> [protected]</code> </td>
174 </tr>
175 </table>
176</div>
177<div class="memdoc">
178
179<p>
180labelname
181</div>
182</div><p>
183<hr>The documentation for this class was generated from the following files:<ul>
184<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
185<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
186<a href="http://www.doxygen.org/index.html">
187<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
188</body>
189</html>
diff --git a/ue3/doxygen/classCInstructionJumpA.png b/ue3/doxygen/classCInstructionJumpA.png
new file mode 100644
index 0000000..48998d1
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpA.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionJumpS-members.html b/ue3/doxygen/classCInstructionJumpS-members.html
new file mode 100644
index 0000000..4ccefd9
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpS-members.html
@@ -0,0 +1,43 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionJumpS Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionJumpS</b>() (defined in <a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a>)</td><td><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionJumpS.html#671d749a6e93f26851879c4ceac09f4c">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionJumpS.html#8c2e8e077463e64ca64204bb6ed20f71">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionJumpS.html#4b25703a62dafb568700dcad217f7ba6">factory</a>()</td><td><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstructionJumpS.html#f610b22fcf027db2ad2152c52c006eda">m_addr</a></td><td><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
40<a href="http://www.doxygen.org/index.html">
41<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
42</body>
43</html>
diff --git a/ue3/doxygen/classCInstructionJumpS.html b/ue3/doxygen/classCInstructionJumpS.html
new file mode 100644
index 0000000..1a5b7a0
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpS.html
@@ -0,0 +1,189 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionJumpS Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionJumpS Class Reference</h1><!-- doxytag: class="CInstructionJumpS" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionJumpS:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionJumpS.png" usemap="#CInstructionJumpS_map" border="0" alt=""></center>
30<map name="CInstructionJumpS_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,117,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionJumpS-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpS.html#4b25703a62dafb568700dcad217f7ba6">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#4b25703a62dafb568700dcad217f7ba6"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpS.html#671d749a6e93f26851879c4ceac09f4c">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#671d749a6e93f26851879c4ceac09f4c"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpS.html#8c2e8e077463e64ca64204bb6ed20f71">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#8c2e8e077463e64ca64204bb6ed20f71"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpS.html#f610b22fcf027db2ad2152c52c006eda">m_addr</a></td></tr>
50
51</table>
52<hr><a name="_details"></a><h2>Detailed Description</h2>
53Implementation of assembler command "jumps" Syntax: jumps labelname (jump to labelname if signflag) <hr><h2>Member Function Documentation</h2>
54<a class="anchor" name="4b25703a62dafb568700dcad217f7ba6"></a><!-- doxytag: member="CInstructionJumpS::factory" ref="4b25703a62dafb568700dcad217f7ba6" args="()" -->
55<div class="memitem">
56<div class="memproto">
57 <table class="memname">
58 <tr>
59 <td class="memname"><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a>* CInstructionJumpS::factory </td>
60 <td>(</td>
61 <td class="paramname"> </td>
62 <td>&nbsp;)&nbsp;</td>
63 <td width="100%"><code> [inline, virtual]</code></td>
64 </tr>
65 </table>
66</div>
67<div class="memdoc">
68
69<p>
70creates a new instance of this instruction
71<p>
72<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
73<dl compact><dt><b>Parameters:</b></dt><dd>
74 <table border="0" cellspacing="2" cellpadding="0">
75 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
76 </table>
77</dl>
78<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
79<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
80<dl compact><dt><b>Exceptions:</b></dt><dd>
81 <table border="0" cellspacing="2" cellpadding="0">
82 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
83 </table>
84</dl>
85<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
86
87<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
88
89</div>
90</div><p>
91<a class="anchor" name="671d749a6e93f26851879c4ceac09f4c"></a><!-- doxytag: member="CInstructionJumpS::compile" ref="671d749a6e93f26851879c4ceac09f4c" args="(std::list&lt; std::string &gt; &amp;params)" -->
92<div class="memitem">
93<div class="memproto">
94 <table class="memname">
95 <tr>
96 <td class="memname">void CInstructionJumpS::compile </td>
97 <td>(</td>
98 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
99 <td class="paramname"> <em>params</em> </td>
100 <td>&nbsp;)&nbsp;</td>
101 <td width="100%"><code> [virtual]</code></td>
102 </tr>
103 </table>
104</div>
105<div class="memdoc">
106
107<p>
108parses instruction parameters and prepares the instruction for executing
109<p>
110<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
111<dl compact><dt><b>Parameters:</b></dt><dd>
112 <table border="0" cellspacing="2" cellpadding="0">
113 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
114 </table>
115</dl>
116<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
117<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
118<dl compact><dt><b>Exceptions:</b></dt><dd>
119 <table border="0" cellspacing="2" cellpadding="0">
120 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
121 </table>
122</dl>
123<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
124
125<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
126
127</div>
128</div><p>
129<a class="anchor" name="8c2e8e077463e64ca64204bb6ed20f71"></a><!-- doxytag: member="CInstructionJumpS::execute" ref="8c2e8e077463e64ca64204bb6ed20f71" args="(CCPU *cpu)" -->
130<div class="memitem">
131<div class="memproto">
132 <table class="memname">
133 <tr>
134 <td class="memname">void CInstructionJumpS::execute </td>
135 <td>(</td>
136 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
137 <td class="paramname"> <em>cpu</em> </td>
138 <td>&nbsp;)&nbsp;</td>
139 <td width="100%"><code> [virtual]</code></td>
140 </tr>
141 </table>
142</div>
143<div class="memdoc">
144
145<p>
146executes the instruction
147<p>
148<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
149<dl compact><dt><b>Parameters:</b></dt><dd>
150 <table border="0" cellspacing="2" cellpadding="0">
151 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
152 </table>
153</dl>
154<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
155<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
156<dl compact><dt><b>Exceptions:</b></dt><dd>
157 <table border="0" cellspacing="2" cellpadding="0">
158 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
159 </table>
160</dl>
161<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
162
163<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
164
165</div>
166</div><p>
167<hr><h2>Member Data Documentation</h2>
168<a class="anchor" name="f610b22fcf027db2ad2152c52c006eda"></a><!-- doxytag: member="CInstructionJumpS::m_addr" ref="f610b22fcf027db2ad2152c52c006eda" args="" -->
169<div class="memitem">
170<div class="memproto">
171 <table class="memname">
172 <tr>
173 <td class="memname">std::string <a class="el" href="classCInstructionJumpS.html#f610b22fcf027db2ad2152c52c006eda">CInstructionJumpS::m_addr</a><code> [protected]</code> </td>
174 </tr>
175 </table>
176</div>
177<div class="memdoc">
178
179<p>
180labelname
181</div>
182</div><p>
183<hr>The documentation for this class was generated from the following files:<ul>
184<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
185<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
186<a href="http://www.doxygen.org/index.html">
187<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
188</body>
189</html>
diff --git a/ue3/doxygen/classCInstructionJumpS.png b/ue3/doxygen/classCInstructionJumpS.png
new file mode 100644
index 0000000..635cddb
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpS.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionJumpZ-members.html b/ue3/doxygen/classCInstructionJumpZ-members.html
new file mode 100644
index 0000000..168bc98
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpZ-members.html
@@ -0,0 +1,43 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionJumpZ Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionJumpZ</b>() (defined in <a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a>)</td><td><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionJumpZ.html#e4c05192b829d2bcc1e838de195ef3d9">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionJumpZ.html#92f15deda156ebd20e8af47589753783">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionJumpZ.html#e0750f1ce4a5746be3317024f4ef92eb">factory</a>()</td><td><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstructionJumpZ.html#4f0147cd62010e0d178c9259737e8c10">m_addr</a></td><td><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
40<a href="http://www.doxygen.org/index.html">
41<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
42</body>
43</html>
diff --git a/ue3/doxygen/classCInstructionJumpZ.html b/ue3/doxygen/classCInstructionJumpZ.html
new file mode 100644
index 0000000..a8bb339
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpZ.html
@@ -0,0 +1,189 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionJumpZ Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionJumpZ Class Reference</h1><!-- doxytag: class="CInstructionJumpZ" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionJumpZ:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionJumpZ.png" usemap="#CInstructionJumpZ_map" border="0" alt=""></center>
30<map name="CInstructionJumpZ_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,118,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionJumpZ-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpZ.html#e0750f1ce4a5746be3317024f4ef92eb">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#e0750f1ce4a5746be3317024f4ef92eb"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpZ.html#e4c05192b829d2bcc1e838de195ef3d9">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#e4c05192b829d2bcc1e838de195ef3d9"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpZ.html#92f15deda156ebd20e8af47589753783">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#92f15deda156ebd20e8af47589753783"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionJumpZ.html#4f0147cd62010e0d178c9259737e8c10">m_addr</a></td></tr>
50
51</table>
52<hr><a name="_details"></a><h2>Detailed Description</h2>
53Implementation of assembler command "jumpz" Syntax: jumpz labelname (jump to labelname if zeroflag) <hr><h2>Member Function Documentation</h2>
54<a class="anchor" name="e0750f1ce4a5746be3317024f4ef92eb"></a><!-- doxytag: member="CInstructionJumpZ::factory" ref="e0750f1ce4a5746be3317024f4ef92eb" args="()" -->
55<div class="memitem">
56<div class="memproto">
57 <table class="memname">
58 <tr>
59 <td class="memname"><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a>* CInstructionJumpZ::factory </td>
60 <td>(</td>
61 <td class="paramname"> </td>
62 <td>&nbsp;)&nbsp;</td>
63 <td width="100%"><code> [inline, virtual]</code></td>
64 </tr>
65 </table>
66</div>
67<div class="memdoc">
68
69<p>
70creates a new instance of this instruction
71<p>
72<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
73<dl compact><dt><b>Parameters:</b></dt><dd>
74 <table border="0" cellspacing="2" cellpadding="0">
75 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
76 </table>
77</dl>
78<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
79<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
80<dl compact><dt><b>Exceptions:</b></dt><dd>
81 <table border="0" cellspacing="2" cellpadding="0">
82 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
83 </table>
84</dl>
85<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
86
87<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
88
89</div>
90</div><p>
91<a class="anchor" name="e4c05192b829d2bcc1e838de195ef3d9"></a><!-- doxytag: member="CInstructionJumpZ::compile" ref="e4c05192b829d2bcc1e838de195ef3d9" args="(std::list&lt; std::string &gt; &amp;params)" -->
92<div class="memitem">
93<div class="memproto">
94 <table class="memname">
95 <tr>
96 <td class="memname">void CInstructionJumpZ::compile </td>
97 <td>(</td>
98 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
99 <td class="paramname"> <em>params</em> </td>
100 <td>&nbsp;)&nbsp;</td>
101 <td width="100%"><code> [virtual]</code></td>
102 </tr>
103 </table>
104</div>
105<div class="memdoc">
106
107<p>
108parses instruction parameters and prepares the instruction for executing
109<p>
110<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
111<dl compact><dt><b>Parameters:</b></dt><dd>
112 <table border="0" cellspacing="2" cellpadding="0">
113 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
114 </table>
115</dl>
116<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
117<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
118<dl compact><dt><b>Exceptions:</b></dt><dd>
119 <table border="0" cellspacing="2" cellpadding="0">
120 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
121 </table>
122</dl>
123<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
124
125<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
126
127</div>
128</div><p>
129<a class="anchor" name="92f15deda156ebd20e8af47589753783"></a><!-- doxytag: member="CInstructionJumpZ::execute" ref="92f15deda156ebd20e8af47589753783" args="(CCPU *cpu)" -->
130<div class="memitem">
131<div class="memproto">
132 <table class="memname">
133 <tr>
134 <td class="memname">void CInstructionJumpZ::execute </td>
135 <td>(</td>
136 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
137 <td class="paramname"> <em>cpu</em> </td>
138 <td>&nbsp;)&nbsp;</td>
139 <td width="100%"><code> [virtual]</code></td>
140 </tr>
141 </table>
142</div>
143<div class="memdoc">
144
145<p>
146executes the instruction
147<p>
148<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
149<dl compact><dt><b>Parameters:</b></dt><dd>
150 <table border="0" cellspacing="2" cellpadding="0">
151 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
152 </table>
153</dl>
154<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
155<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
156<dl compact><dt><b>Exceptions:</b></dt><dd>
157 <table border="0" cellspacing="2" cellpadding="0">
158 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
159 </table>
160</dl>
161<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
162
163<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
164
165</div>
166</div><p>
167<hr><h2>Member Data Documentation</h2>
168<a class="anchor" name="4f0147cd62010e0d178c9259737e8c10"></a><!-- doxytag: member="CInstructionJumpZ::m_addr" ref="4f0147cd62010e0d178c9259737e8c10" args="" -->
169<div class="memitem">
170<div class="memproto">
171 <table class="memname">
172 <tr>
173 <td class="memname">std::string <a class="el" href="classCInstructionJumpZ.html#4f0147cd62010e0d178c9259737e8c10">CInstructionJumpZ::m_addr</a><code> [protected]</code> </td>
174 </tr>
175 </table>
176</div>
177<div class="memdoc">
178
179<p>
180labelname
181</div>
182</div><p>
183<hr>The documentation for this class was generated from the following files:<ul>
184<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
185<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
186<a href="http://www.doxygen.org/index.html">
187<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
188</body>
189</html>
diff --git a/ue3/doxygen/classCInstructionJumpZ.png b/ue3/doxygen/classCInstructionJumpZ.png
new file mode 100644
index 0000000..4840f60
--- /dev/null
+++ b/ue3/doxygen/classCInstructionJumpZ.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionLabel-members.html b/ue3/doxygen/classCInstructionLabel-members.html
new file mode 100644
index 0000000..3933096
--- /dev/null
+++ b/ue3/doxygen/classCInstructionLabel-members.html
@@ -0,0 +1,42 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionLabel Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionLabel.html">CInstructionLabel</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionLabel</b>() (defined in <a class="el" href="classCInstructionLabel.html">CInstructionLabel</a>)</td><td><a class="el" href="classCInstructionLabel.html">CInstructionLabel</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionLabel.html#321fd849ae169d900964431b4100321f">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionLabel.html">CInstructionLabel</a></td><td><code> [inline, virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionLabel.html#665f2fc395ffed3bd968659f67868f53">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionLabel.html">CInstructionLabel</a></td><td><code> [inline, virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionLabel.html#66ba5bd6facecd45f3616fc94eb2845f">factory</a>()</td><td><a class="el" href="classCInstructionLabel.html">CInstructionLabel</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
38</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
39<a href="http://www.doxygen.org/index.html">
40<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
41</body>
42</html>
diff --git a/ue3/doxygen/classCInstructionLabel.html b/ue3/doxygen/classCInstructionLabel.html
new file mode 100644
index 0000000..e6994be
--- /dev/null
+++ b/ue3/doxygen/classCInstructionLabel.html
@@ -0,0 +1,170 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionLabel Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionLabel Class Reference</h1><!-- doxytag: class="CInstructionLabel" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionLabel:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionLabel.png" usemap="#CInstructionLabel_map" border="0" alt=""></center>
30<map name="CInstructionLabel_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,110,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionLabel-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionLabel.html">CInstructionLabel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionLabel.html#66ba5bd6facecd45f3616fc94eb2845f">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#66ba5bd6facecd45f3616fc94eb2845f"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionLabel.html#321fd849ae169d900964431b4100321f">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#321fd849ae169d900964431b4100321f"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionLabel.html#665f2fc395ffed3bd968659f67868f53">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#665f2fc395ffed3bd968659f67868f53"></a><br></td></tr>
48</table>
49<hr><a name="_details"></a><h2>Detailed Description</h2>
50Implementation of assembler command "label" Syntax: label name: <hr><h2>Member Function Documentation</h2>
51<a class="anchor" name="66ba5bd6facecd45f3616fc94eb2845f"></a><!-- doxytag: member="CInstructionLabel::factory" ref="66ba5bd6facecd45f3616fc94eb2845f" args="()" -->
52<div class="memitem">
53<div class="memproto">
54 <table class="memname">
55 <tr>
56 <td class="memname"><a class="el" href="classCInstructionLabel.html">CInstructionLabel</a>* CInstructionLabel::factory </td>
57 <td>(</td>
58 <td class="paramname"> </td>
59 <td>&nbsp;)&nbsp;</td>
60 <td width="100%"><code> [inline, virtual]</code></td>
61 </tr>
62 </table>
63</div>
64<div class="memdoc">
65
66<p>
67creates a new instance of this instruction
68<p>
69<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
70<dl compact><dt><b>Parameters:</b></dt><dd>
71 <table border="0" cellspacing="2" cellpadding="0">
72 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
73 </table>
74</dl>
75<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
76<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
77<dl compact><dt><b>Exceptions:</b></dt><dd>
78 <table border="0" cellspacing="2" cellpadding="0">
79 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
80 </table>
81</dl>
82<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
83
84<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
85
86</div>
87</div><p>
88<a class="anchor" name="321fd849ae169d900964431b4100321f"></a><!-- doxytag: member="CInstructionLabel::compile" ref="321fd849ae169d900964431b4100321f" args="(std::list&lt; std::string &gt; &amp;params)" -->
89<div class="memitem">
90<div class="memproto">
91 <table class="memname">
92 <tr>
93 <td class="memname">void CInstructionLabel::compile </td>
94 <td>(</td>
95 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
96 <td class="paramname"> <em>params</em> </td>
97 <td>&nbsp;)&nbsp;</td>
98 <td width="100%"><code> [inline, virtual]</code></td>
99 </tr>
100 </table>
101</div>
102<div class="memdoc">
103
104<p>
105parses instruction parameters and prepares the instruction for executing
106<p>
107<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
108<dl compact><dt><b>Parameters:</b></dt><dd>
109 <table border="0" cellspacing="2" cellpadding="0">
110 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
111 </table>
112</dl>
113<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
114<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
115<dl compact><dt><b>Exceptions:</b></dt><dd>
116 <table border="0" cellspacing="2" cellpadding="0">
117 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
118 </table>
119</dl>
120<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
121
122<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
123
124</div>
125</div><p>
126<a class="anchor" name="665f2fc395ffed3bd968659f67868f53"></a><!-- doxytag: member="CInstructionLabel::execute" ref="665f2fc395ffed3bd968659f67868f53" args="(CCPU *cpu)" -->
127<div class="memitem">
128<div class="memproto">
129 <table class="memname">
130 <tr>
131 <td class="memname">void CInstructionLabel::execute </td>
132 <td>(</td>
133 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
134 <td class="paramname"> <em>cpu</em> </td>
135 <td>&nbsp;)&nbsp;</td>
136 <td width="100%"><code> [inline, virtual]</code></td>
137 </tr>
138 </table>
139</div>
140<div class="memdoc">
141
142<p>
143executes the instruction
144<p>
145<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
146<dl compact><dt><b>Parameters:</b></dt><dd>
147 <table border="0" cellspacing="2" cellpadding="0">
148 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
149 </table>
150</dl>
151<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
152<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
153<dl compact><dt><b>Exceptions:</b></dt><dd>
154 <table border="0" cellspacing="2" cellpadding="0">
155 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
156 </table>
157</dl>
158<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
159
160<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
161
162</div>
163</div><p>
164<hr>The documentation for this class was generated from the following file:<ul>
165<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a></ul>
166<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
167<a href="http://www.doxygen.org/index.html">
168<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
169</body>
170</html>
diff --git a/ue3/doxygen/classCInstructionLabel.png b/ue3/doxygen/classCInstructionLabel.png
new file mode 100644
index 0000000..2725289
--- /dev/null
+++ b/ue3/doxygen/classCInstructionLabel.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionLoad-members.html b/ue3/doxygen/classCInstructionLoad-members.html
new file mode 100644
index 0000000..8786246
--- /dev/null
+++ b/ue3/doxygen/classCInstructionLoad-members.html
@@ -0,0 +1,44 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionLoad Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionLoad.html">CInstructionLoad</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionLoad</b>() (defined in <a class="el" href="classCInstructionLoad.html">CInstructionLoad</a>)</td><td><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionLoad.html#4aa70fe481286e0bcc27f7a9ce896d3d">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionLoad.html#fdda1d554401f9bfd32a6300f5ad2bb6">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionLoad.html#35c051515ccd6a12dbb39ab4b2e33ded">factory</a>()</td><td><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionLoad.html#91139a066176d4be83258eba0b412cb6">m_regidx1</a></td><td><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstructionLoad.html#dbb1c5a56e063ce77d3b8d26355e2a49">m_regidx2</a></td><td><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a></td><td><code> [protected]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
39 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
40</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
41<a href="http://www.doxygen.org/index.html">
42<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
43</body>
44</html>
diff --git a/ue3/doxygen/classCInstructionLoad.html b/ue3/doxygen/classCInstructionLoad.html
new file mode 100644
index 0000000..83bbcc2
--- /dev/null
+++ b/ue3/doxygen/classCInstructionLoad.html
@@ -0,0 +1,206 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionLoad Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionLoad Class Reference</h1><!-- doxytag: class="CInstructionLoad" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionLoad:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionLoad.png" usemap="#CInstructionLoad_map" border="0" alt=""></center>
30<map name="CInstructionLoad_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,107,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionLoad-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionLoad.html#35c051515ccd6a12dbb39ab4b2e33ded">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#35c051515ccd6a12dbb39ab4b2e33ded"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionLoad.html#4aa70fe481286e0bcc27f7a9ce896d3d">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#4aa70fe481286e0bcc27f7a9ce896d3d"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionLoad.html#fdda1d554401f9bfd32a6300f5ad2bb6">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#fdda1d554401f9bfd32a6300f5ad2bb6"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionLoad.html#91139a066176d4be83258eba0b412cb6">m_regidx1</a></td></tr>
50
51<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionLoad.html#dbb1c5a56e063ce77d3b8d26355e2a49">m_regidx2</a></td></tr>
52
53</table>
54<hr><a name="_details"></a><h2>Detailed Description</h2>
55Implementation of assembler command "load" Syntax: load R1, R2 (R1 = memory[R2]) <hr><h2>Member Function Documentation</h2>
56<a class="anchor" name="35c051515ccd6a12dbb39ab4b2e33ded"></a><!-- doxytag: member="CInstructionLoad::factory" ref="35c051515ccd6a12dbb39ab4b2e33ded" args="()" -->
57<div class="memitem">
58<div class="memproto">
59 <table class="memname">
60 <tr>
61 <td class="memname"><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a>* CInstructionLoad::factory </td>
62 <td>(</td>
63 <td class="paramname"> </td>
64 <td>&nbsp;)&nbsp;</td>
65 <td width="100%"><code> [inline, virtual]</code></td>
66 </tr>
67 </table>
68</div>
69<div class="memdoc">
70
71<p>
72creates a new instance of this instruction
73<p>
74<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
75<dl compact><dt><b>Parameters:</b></dt><dd>
76 <table border="0" cellspacing="2" cellpadding="0">
77 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
78 </table>
79</dl>
80<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
81<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
82<dl compact><dt><b>Exceptions:</b></dt><dd>
83 <table border="0" cellspacing="2" cellpadding="0">
84 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
85 </table>
86</dl>
87<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
88
89<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
90
91</div>
92</div><p>
93<a class="anchor" name="4aa70fe481286e0bcc27f7a9ce896d3d"></a><!-- doxytag: member="CInstructionLoad::compile" ref="4aa70fe481286e0bcc27f7a9ce896d3d" args="(std::list&lt; std::string &gt; &amp;params)" -->
94<div class="memitem">
95<div class="memproto">
96 <table class="memname">
97 <tr>
98 <td class="memname">void CInstructionLoad::compile </td>
99 <td>(</td>
100 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
101 <td class="paramname"> <em>params</em> </td>
102 <td>&nbsp;)&nbsp;</td>
103 <td width="100%"><code> [virtual]</code></td>
104 </tr>
105 </table>
106</div>
107<div class="memdoc">
108
109<p>
110parses instruction parameters and prepares the instruction for executing
111<p>
112<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
113<dl compact><dt><b>Parameters:</b></dt><dd>
114 <table border="0" cellspacing="2" cellpadding="0">
115 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
116 </table>
117</dl>
118<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
119<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
120<dl compact><dt><b>Exceptions:</b></dt><dd>
121 <table border="0" cellspacing="2" cellpadding="0">
122 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
123 </table>
124</dl>
125<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
126
127<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
128
129</div>
130</div><p>
131<a class="anchor" name="fdda1d554401f9bfd32a6300f5ad2bb6"></a><!-- doxytag: member="CInstructionLoad::execute" ref="fdda1d554401f9bfd32a6300f5ad2bb6" args="(CCPU *cpu)" -->
132<div class="memitem">
133<div class="memproto">
134 <table class="memname">
135 <tr>
136 <td class="memname">void CInstructionLoad::execute </td>
137 <td>(</td>
138 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
139 <td class="paramname"> <em>cpu</em> </td>
140 <td>&nbsp;)&nbsp;</td>
141 <td width="100%"><code> [virtual]</code></td>
142 </tr>
143 </table>
144</div>
145<div class="memdoc">
146
147<p>
148executes the instruction
149<p>
150<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
151<dl compact><dt><b>Parameters:</b></dt><dd>
152 <table border="0" cellspacing="2" cellpadding="0">
153 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
154 </table>
155</dl>
156<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
157<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
158<dl compact><dt><b>Exceptions:</b></dt><dd>
159 <table border="0" cellspacing="2" cellpadding="0">
160 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
161 </table>
162</dl>
163<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
164
165<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
166
167</div>
168</div><p>
169<hr><h2>Member Data Documentation</h2>
170<a class="anchor" name="91139a066176d4be83258eba0b412cb6"></a><!-- doxytag: member="CInstructionLoad::m_regidx1" ref="91139a066176d4be83258eba0b412cb6" args="" -->
171<div class="memitem">
172<div class="memproto">
173 <table class="memname">
174 <tr>
175 <td class="memname">unsigned <a class="el" href="classCInstructionLoad.html#91139a066176d4be83258eba0b412cb6">CInstructionLoad::m_regidx1</a><code> [protected]</code> </td>
176 </tr>
177 </table>
178</div>
179<div class="memdoc">
180
181<p>
182register number
183</div>
184</div><p>
185<a class="anchor" name="dbb1c5a56e063ce77d3b8d26355e2a49"></a><!-- doxytag: member="CInstructionLoad::m_regidx2" ref="dbb1c5a56e063ce77d3b8d26355e2a49" args="" -->
186<div class="memitem">
187<div class="memproto">
188 <table class="memname">
189 <tr>
190 <td class="memname">unsigned <a class="el" href="classCInstructionLoad.html#dbb1c5a56e063ce77d3b8d26355e2a49">CInstructionLoad::m_regidx2</a><code> [protected]</code> </td>
191 </tr>
192 </table>
193</div>
194<div class="memdoc">
195
196<p>
197register number
198</div>
199</div><p>
200<hr>The documentation for this class was generated from the following files:<ul>
201<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
202<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
203<a href="http://www.doxygen.org/index.html">
204<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
205</body>
206</html>
diff --git a/ue3/doxygen/classCInstructionLoad.png b/ue3/doxygen/classCInstructionLoad.png
new file mode 100644
index 0000000..45fe9bf
--- /dev/null
+++ b/ue3/doxygen/classCInstructionLoad.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionMul-members.html b/ue3/doxygen/classCInstructionMul-members.html
new file mode 100644
index 0000000..cb1ade9
--- /dev/null
+++ b/ue3/doxygen/classCInstructionMul-members.html
@@ -0,0 +1,45 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionMul Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionMul.html">CInstructionMul</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionMul</b>() (defined in <a class="el" href="classCInstructionMul.html">CInstructionMul</a>)</td><td><a class="el" href="classCInstructionMul.html">CInstructionMul</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionMul.html#188024d90dd19fcea0687d32e98c67a7">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionMul.html">CInstructionMul</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionMul.html#0675f51cbfb5d0d76e605f64b0b2555c">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionMul.html">CInstructionMul</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionMul.html#1e8f23073a29a0d50fa9d651b986e821">factory</a>()</td><td><a class="el" href="classCInstructionMul.html">CInstructionMul</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionMul.html#c5c3b5b125973a0396c3ad7e0233b79f">m_regidx1</a></td><td><a class="el" href="classCInstructionMul.html">CInstructionMul</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstructionMul.html#eaaaff76fe29741fce14b322d4da8a54">m_regidx2</a></td><td><a class="el" href="classCInstructionMul.html">CInstructionMul</a></td><td><code> [protected]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstructionMul.html#171d8573f80224249ac14e4c8fec0c7b">m_regidx3</a></td><td><a class="el" href="classCInstructionMul.html">CInstructionMul</a></td><td><code> [protected]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
40 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
41</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
42<a href="http://www.doxygen.org/index.html">
43<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
44</body>
45</html>
diff --git a/ue3/doxygen/classCInstructionMul.html b/ue3/doxygen/classCInstructionMul.html
new file mode 100644
index 0000000..7f7bdd9
--- /dev/null
+++ b/ue3/doxygen/classCInstructionMul.html
@@ -0,0 +1,223 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionMul Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionMul Class Reference</h1><!-- doxytag: class="CInstructionMul" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionMul:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionMul.png" usemap="#CInstructionMul_map" border="0" alt=""></center>
30<map name="CInstructionMul_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,100,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionMul-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionMul.html">CInstructionMul</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionMul.html#1e8f23073a29a0d50fa9d651b986e821">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#1e8f23073a29a0d50fa9d651b986e821"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionMul.html#188024d90dd19fcea0687d32e98c67a7">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#188024d90dd19fcea0687d32e98c67a7"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionMul.html#0675f51cbfb5d0d76e605f64b0b2555c">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#0675f51cbfb5d0d76e605f64b0b2555c"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionMul.html#c5c3b5b125973a0396c3ad7e0233b79f">m_regidx1</a></td></tr>
50
51<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionMul.html#eaaaff76fe29741fce14b322d4da8a54">m_regidx2</a></td></tr>
52
53<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionMul.html#171d8573f80224249ac14e4c8fec0c7b">m_regidx3</a></td></tr>
54
55</table>
56<hr><a name="_details"></a><h2>Detailed Description</h2>
57Implementation of assembler command "mul" Syntax: mul R1, R2, R3 (R1 = R2 * R3) <hr><h2>Member Function Documentation</h2>
58<a class="anchor" name="1e8f23073a29a0d50fa9d651b986e821"></a><!-- doxytag: member="CInstructionMul::factory" ref="1e8f23073a29a0d50fa9d651b986e821" args="()" -->
59<div class="memitem">
60<div class="memproto">
61 <table class="memname">
62 <tr>
63 <td class="memname"><a class="el" href="classCInstructionMul.html">CInstructionMul</a>* CInstructionMul::factory </td>
64 <td>(</td>
65 <td class="paramname"> </td>
66 <td>&nbsp;)&nbsp;</td>
67 <td width="100%"><code> [inline, virtual]</code></td>
68 </tr>
69 </table>
70</div>
71<div class="memdoc">
72
73<p>
74creates a new instance of this instruction
75<p>
76<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
77<dl compact><dt><b>Parameters:</b></dt><dd>
78 <table border="0" cellspacing="2" cellpadding="0">
79 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
80 </table>
81</dl>
82<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
83<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
84<dl compact><dt><b>Exceptions:</b></dt><dd>
85 <table border="0" cellspacing="2" cellpadding="0">
86 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
87 </table>
88</dl>
89<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
90
91<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
92
93</div>
94</div><p>
95<a class="anchor" name="188024d90dd19fcea0687d32e98c67a7"></a><!-- doxytag: member="CInstructionMul::compile" ref="188024d90dd19fcea0687d32e98c67a7" args="(std::list&lt; std::string &gt; &amp;params)" -->
96<div class="memitem">
97<div class="memproto">
98 <table class="memname">
99 <tr>
100 <td class="memname">void CInstructionMul::compile </td>
101 <td>(</td>
102 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
103 <td class="paramname"> <em>params</em> </td>
104 <td>&nbsp;)&nbsp;</td>
105 <td width="100%"><code> [virtual]</code></td>
106 </tr>
107 </table>
108</div>
109<div class="memdoc">
110
111<p>
112parses instruction parameters and prepares the instruction for executing
113<p>
114<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
115<dl compact><dt><b>Parameters:</b></dt><dd>
116 <table border="0" cellspacing="2" cellpadding="0">
117 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
118 </table>
119</dl>
120<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
121<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
122<dl compact><dt><b>Exceptions:</b></dt><dd>
123 <table border="0" cellspacing="2" cellpadding="0">
124 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
125 </table>
126</dl>
127<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
128
129<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
130
131</div>
132</div><p>
133<a class="anchor" name="0675f51cbfb5d0d76e605f64b0b2555c"></a><!-- doxytag: member="CInstructionMul::execute" ref="0675f51cbfb5d0d76e605f64b0b2555c" args="(CCPU *cpu)" -->
134<div class="memitem">
135<div class="memproto">
136 <table class="memname">
137 <tr>
138 <td class="memname">void CInstructionMul::execute </td>
139 <td>(</td>
140 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
141 <td class="paramname"> <em>cpu</em> </td>
142 <td>&nbsp;)&nbsp;</td>
143 <td width="100%"><code> [virtual]</code></td>
144 </tr>
145 </table>
146</div>
147<div class="memdoc">
148
149<p>
150executes the instruction
151<p>
152<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
153<dl compact><dt><b>Parameters:</b></dt><dd>
154 <table border="0" cellspacing="2" cellpadding="0">
155 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
156 </table>
157</dl>
158<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
159<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
160<dl compact><dt><b>Exceptions:</b></dt><dd>
161 <table border="0" cellspacing="2" cellpadding="0">
162 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
163 </table>
164</dl>
165<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
166
167<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
168
169</div>
170</div><p>
171<hr><h2>Member Data Documentation</h2>
172<a class="anchor" name="c5c3b5b125973a0396c3ad7e0233b79f"></a><!-- doxytag: member="CInstructionMul::m_regidx1" ref="c5c3b5b125973a0396c3ad7e0233b79f" args="" -->
173<div class="memitem">
174<div class="memproto">
175 <table class="memname">
176 <tr>
177 <td class="memname">unsigned <a class="el" href="classCInstructionMul.html#c5c3b5b125973a0396c3ad7e0233b79f">CInstructionMul::m_regidx1</a><code> [protected]</code> </td>
178 </tr>
179 </table>
180</div>
181<div class="memdoc">
182
183<p>
184register number
185</div>
186</div><p>
187<a class="anchor" name="eaaaff76fe29741fce14b322d4da8a54"></a><!-- doxytag: member="CInstructionMul::m_regidx2" ref="eaaaff76fe29741fce14b322d4da8a54" args="" -->
188<div class="memitem">
189<div class="memproto">
190 <table class="memname">
191 <tr>
192 <td class="memname">unsigned <a class="el" href="classCInstructionMul.html#eaaaff76fe29741fce14b322d4da8a54">CInstructionMul::m_regidx2</a><code> [protected]</code> </td>
193 </tr>
194 </table>
195</div>
196<div class="memdoc">
197
198<p>
199register number
200</div>
201</div><p>
202<a class="anchor" name="171d8573f80224249ac14e4c8fec0c7b"></a><!-- doxytag: member="CInstructionMul::m_regidx3" ref="171d8573f80224249ac14e4c8fec0c7b" args="" -->
203<div class="memitem">
204<div class="memproto">
205 <table class="memname">
206 <tr>
207 <td class="memname">unsigned <a class="el" href="classCInstructionMul.html#171d8573f80224249ac14e4c8fec0c7b">CInstructionMul::m_regidx3</a><code> [protected]</code> </td>
208 </tr>
209 </table>
210</div>
211<div class="memdoc">
212
213<p>
214register number
215</div>
216</div><p>
217<hr>The documentation for this class was generated from the following files:<ul>
218<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
219<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
220<a href="http://www.doxygen.org/index.html">
221<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
222</body>
223</html>
diff --git a/ue3/doxygen/classCInstructionMul.png b/ue3/doxygen/classCInstructionMul.png
new file mode 100644
index 0000000..f300a09
--- /dev/null
+++ b/ue3/doxygen/classCInstructionMul.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionStore-members.html b/ue3/doxygen/classCInstructionStore-members.html
new file mode 100644
index 0000000..d06efb9
--- /dev/null
+++ b/ue3/doxygen/classCInstructionStore-members.html
@@ -0,0 +1,44 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionStore Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionStore.html">CInstructionStore</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionStore</b>() (defined in <a class="el" href="classCInstructionStore.html">CInstructionStore</a>)</td><td><a class="el" href="classCInstructionStore.html">CInstructionStore</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionStore.html#9848bf36bd3ec75ae481d8ef1f36c6ee">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionStore.html">CInstructionStore</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionStore.html#fd5ee6692540613ee8cc9a2bf8ff920a">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionStore.html">CInstructionStore</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionStore.html#cab0d4c9bf2cc0d6b1b450ef9aeebcc0">factory</a>()</td><td><a class="el" href="classCInstructionStore.html">CInstructionStore</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionStore.html#5e57d0d27d70f13a590355f5c1782cc9">m_regidx1</a></td><td><a class="el" href="classCInstructionStore.html">CInstructionStore</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstructionStore.html#d960c6b85e7022704b4d7d059e1766d1">m_regidx2</a></td><td><a class="el" href="classCInstructionStore.html">CInstructionStore</a></td><td><code> [protected]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
39 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
40</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
41<a href="http://www.doxygen.org/index.html">
42<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
43</body>
44</html>
diff --git a/ue3/doxygen/classCInstructionStore.html b/ue3/doxygen/classCInstructionStore.html
new file mode 100644
index 0000000..f2d0133
--- /dev/null
+++ b/ue3/doxygen/classCInstructionStore.html
@@ -0,0 +1,206 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionStore Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionStore Class Reference</h1><!-- doxytag: class="CInstructionStore" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionStore:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionStore.png" usemap="#CInstructionStore_map" border="0" alt=""></center>
30<map name="CInstructionStore_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,109,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionStore-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionStore.html">CInstructionStore</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionStore.html#cab0d4c9bf2cc0d6b1b450ef9aeebcc0">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#cab0d4c9bf2cc0d6b1b450ef9aeebcc0"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionStore.html#9848bf36bd3ec75ae481d8ef1f36c6ee">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#9848bf36bd3ec75ae481d8ef1f36c6ee"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionStore.html#fd5ee6692540613ee8cc9a2bf8ff920a">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#fd5ee6692540613ee8cc9a2bf8ff920a"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionStore.html#5e57d0d27d70f13a590355f5c1782cc9">m_regidx1</a></td></tr>
50
51<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionStore.html#d960c6b85e7022704b4d7d059e1766d1">m_regidx2</a></td></tr>
52
53</table>
54<hr><a name="_details"></a><h2>Detailed Description</h2>
55Implementation of assembler command "store" Syntax: store R1, R2 (memory[R2] = R1) <hr><h2>Member Function Documentation</h2>
56<a class="anchor" name="cab0d4c9bf2cc0d6b1b450ef9aeebcc0"></a><!-- doxytag: member="CInstructionStore::factory" ref="cab0d4c9bf2cc0d6b1b450ef9aeebcc0" args="()" -->
57<div class="memitem">
58<div class="memproto">
59 <table class="memname">
60 <tr>
61 <td class="memname"><a class="el" href="classCInstructionStore.html">CInstructionStore</a>* CInstructionStore::factory </td>
62 <td>(</td>
63 <td class="paramname"> </td>
64 <td>&nbsp;)&nbsp;</td>
65 <td width="100%"><code> [inline, virtual]</code></td>
66 </tr>
67 </table>
68</div>
69<div class="memdoc">
70
71<p>
72creates a new instance of this instruction
73<p>
74<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
75<dl compact><dt><b>Parameters:</b></dt><dd>
76 <table border="0" cellspacing="2" cellpadding="0">
77 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
78 </table>
79</dl>
80<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
81<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
82<dl compact><dt><b>Exceptions:</b></dt><dd>
83 <table border="0" cellspacing="2" cellpadding="0">
84 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
85 </table>
86</dl>
87<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
88
89<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
90
91</div>
92</div><p>
93<a class="anchor" name="9848bf36bd3ec75ae481d8ef1f36c6ee"></a><!-- doxytag: member="CInstructionStore::compile" ref="9848bf36bd3ec75ae481d8ef1f36c6ee" args="(std::list&lt; std::string &gt; &amp;params)" -->
94<div class="memitem">
95<div class="memproto">
96 <table class="memname">
97 <tr>
98 <td class="memname">void CInstructionStore::compile </td>
99 <td>(</td>
100 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
101 <td class="paramname"> <em>params</em> </td>
102 <td>&nbsp;)&nbsp;</td>
103 <td width="100%"><code> [virtual]</code></td>
104 </tr>
105 </table>
106</div>
107<div class="memdoc">
108
109<p>
110parses instruction parameters and prepares the instruction for executing
111<p>
112<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
113<dl compact><dt><b>Parameters:</b></dt><dd>
114 <table border="0" cellspacing="2" cellpadding="0">
115 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
116 </table>
117</dl>
118<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
119<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
120<dl compact><dt><b>Exceptions:</b></dt><dd>
121 <table border="0" cellspacing="2" cellpadding="0">
122 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
123 </table>
124</dl>
125<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
126
127<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
128
129</div>
130</div><p>
131<a class="anchor" name="fd5ee6692540613ee8cc9a2bf8ff920a"></a><!-- doxytag: member="CInstructionStore::execute" ref="fd5ee6692540613ee8cc9a2bf8ff920a" args="(CCPU *cpu)" -->
132<div class="memitem">
133<div class="memproto">
134 <table class="memname">
135 <tr>
136 <td class="memname">void CInstructionStore::execute </td>
137 <td>(</td>
138 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
139 <td class="paramname"> <em>cpu</em> </td>
140 <td>&nbsp;)&nbsp;</td>
141 <td width="100%"><code> [virtual]</code></td>
142 </tr>
143 </table>
144</div>
145<div class="memdoc">
146
147<p>
148executes the instruction
149<p>
150<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
151<dl compact><dt><b>Parameters:</b></dt><dd>
152 <table border="0" cellspacing="2" cellpadding="0">
153 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
154 </table>
155</dl>
156<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
157<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
158<dl compact><dt><b>Exceptions:</b></dt><dd>
159 <table border="0" cellspacing="2" cellpadding="0">
160 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
161 </table>
162</dl>
163<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
164
165<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
166
167</div>
168</div><p>
169<hr><h2>Member Data Documentation</h2>
170<a class="anchor" name="5e57d0d27d70f13a590355f5c1782cc9"></a><!-- doxytag: member="CInstructionStore::m_regidx1" ref="5e57d0d27d70f13a590355f5c1782cc9" args="" -->
171<div class="memitem">
172<div class="memproto">
173 <table class="memname">
174 <tr>
175 <td class="memname">unsigned <a class="el" href="classCInstructionStore.html#5e57d0d27d70f13a590355f5c1782cc9">CInstructionStore::m_regidx1</a><code> [protected]</code> </td>
176 </tr>
177 </table>
178</div>
179<div class="memdoc">
180
181<p>
182register number
183</div>
184</div><p>
185<a class="anchor" name="d960c6b85e7022704b4d7d059e1766d1"></a><!-- doxytag: member="CInstructionStore::m_regidx2" ref="d960c6b85e7022704b4d7d059e1766d1" args="" -->
186<div class="memitem">
187<div class="memproto">
188 <table class="memname">
189 <tr>
190 <td class="memname">unsigned <a class="el" href="classCInstructionStore.html#d960c6b85e7022704b4d7d059e1766d1">CInstructionStore::m_regidx2</a><code> [protected]</code> </td>
191 </tr>
192 </table>
193</div>
194<div class="memdoc">
195
196<p>
197register number
198</div>
199</div><p>
200<hr>The documentation for this class was generated from the following files:<ul>
201<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
202<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
203<a href="http://www.doxygen.org/index.html">
204<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
205</body>
206</html>
diff --git a/ue3/doxygen/classCInstructionStore.png b/ue3/doxygen/classCInstructionStore.png
new file mode 100644
index 0000000..b368340
--- /dev/null
+++ b/ue3/doxygen/classCInstructionStore.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionSub-members.html b/ue3/doxygen/classCInstructionSub-members.html
new file mode 100644
index 0000000..4908357
--- /dev/null
+++ b/ue3/doxygen/classCInstructionSub-members.html
@@ -0,0 +1,45 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionSub Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionSub.html">CInstructionSub</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionSub</b>() (defined in <a class="el" href="classCInstructionSub.html">CInstructionSub</a>)</td><td><a class="el" href="classCInstructionSub.html">CInstructionSub</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionSub.html#9fe6d8f0f805313c98f8806a4739cbe9">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionSub.html">CInstructionSub</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionSub.html#03e098595198d4cc2f45d906e45e7f28">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionSub.html">CInstructionSub</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionSub.html#71c77a5113f96ac25e79bc4d28072541">factory</a>()</td><td><a class="el" href="classCInstructionSub.html">CInstructionSub</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionSub.html#f9884524cd60c34f3d9a5142e1e586fb">m_regidx1</a></td><td><a class="el" href="classCInstructionSub.html">CInstructionSub</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstructionSub.html#67030fafc6429936130bbe26874c337c">m_regidx2</a></td><td><a class="el" href="classCInstructionSub.html">CInstructionSub</a></td><td><code> [protected]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstructionSub.html#a059bfa11944c55216619bb4328ed44e">m_regidx3</a></td><td><a class="el" href="classCInstructionSub.html">CInstructionSub</a></td><td><code> [protected]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
40 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
41</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
42<a href="http://www.doxygen.org/index.html">
43<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
44</body>
45</html>
diff --git a/ue3/doxygen/classCInstructionSub.html b/ue3/doxygen/classCInstructionSub.html
new file mode 100644
index 0000000..669d6bb
--- /dev/null
+++ b/ue3/doxygen/classCInstructionSub.html
@@ -0,0 +1,223 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionSub Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionSub Class Reference</h1><!-- doxytag: class="CInstructionSub" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionSub:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionSub.png" usemap="#CInstructionSub_map" border="0" alt=""></center>
30<map name="CInstructionSub_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,101,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionSub-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionSub.html">CInstructionSub</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionSub.html#71c77a5113f96ac25e79bc4d28072541">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#71c77a5113f96ac25e79bc4d28072541"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionSub.html#9fe6d8f0f805313c98f8806a4739cbe9">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#9fe6d8f0f805313c98f8806a4739cbe9"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionSub.html#03e098595198d4cc2f45d906e45e7f28">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#03e098595198d4cc2f45d906e45e7f28"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionSub.html#f9884524cd60c34f3d9a5142e1e586fb">m_regidx1</a></td></tr>
50
51<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionSub.html#67030fafc6429936130bbe26874c337c">m_regidx2</a></td></tr>
52
53<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionSub.html#a059bfa11944c55216619bb4328ed44e">m_regidx3</a></td></tr>
54
55</table>
56<hr><a name="_details"></a><h2>Detailed Description</h2>
57Implementation of assembler command "sub" Syntax: sub R1, R2, R3 (R1 = R2 - R3) <hr><h2>Member Function Documentation</h2>
58<a class="anchor" name="71c77a5113f96ac25e79bc4d28072541"></a><!-- doxytag: member="CInstructionSub::factory" ref="71c77a5113f96ac25e79bc4d28072541" args="()" -->
59<div class="memitem">
60<div class="memproto">
61 <table class="memname">
62 <tr>
63 <td class="memname"><a class="el" href="classCInstructionSub.html">CInstructionSub</a>* CInstructionSub::factory </td>
64 <td>(</td>
65 <td class="paramname"> </td>
66 <td>&nbsp;)&nbsp;</td>
67 <td width="100%"><code> [inline, virtual]</code></td>
68 </tr>
69 </table>
70</div>
71<div class="memdoc">
72
73<p>
74creates a new instance of this instruction
75<p>
76<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
77<dl compact><dt><b>Parameters:</b></dt><dd>
78 <table border="0" cellspacing="2" cellpadding="0">
79 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
80 </table>
81</dl>
82<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
83<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
84<dl compact><dt><b>Exceptions:</b></dt><dd>
85 <table border="0" cellspacing="2" cellpadding="0">
86 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
87 </table>
88</dl>
89<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
90
91<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
92
93</div>
94</div><p>
95<a class="anchor" name="9fe6d8f0f805313c98f8806a4739cbe9"></a><!-- doxytag: member="CInstructionSub::compile" ref="9fe6d8f0f805313c98f8806a4739cbe9" args="(std::list&lt; std::string &gt; &amp;params)" -->
96<div class="memitem">
97<div class="memproto">
98 <table class="memname">
99 <tr>
100 <td class="memname">void CInstructionSub::compile </td>
101 <td>(</td>
102 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
103 <td class="paramname"> <em>params</em> </td>
104 <td>&nbsp;)&nbsp;</td>
105 <td width="100%"><code> [virtual]</code></td>
106 </tr>
107 </table>
108</div>
109<div class="memdoc">
110
111<p>
112parses instruction parameters and prepares the instruction for executing
113<p>
114<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
115<dl compact><dt><b>Parameters:</b></dt><dd>
116 <table border="0" cellspacing="2" cellpadding="0">
117 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
118 </table>
119</dl>
120<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
121<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
122<dl compact><dt><b>Exceptions:</b></dt><dd>
123 <table border="0" cellspacing="2" cellpadding="0">
124 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
125 </table>
126</dl>
127<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
128
129<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
130
131</div>
132</div><p>
133<a class="anchor" name="03e098595198d4cc2f45d906e45e7f28"></a><!-- doxytag: member="CInstructionSub::execute" ref="03e098595198d4cc2f45d906e45e7f28" args="(CCPU *cpu)" -->
134<div class="memitem">
135<div class="memproto">
136 <table class="memname">
137 <tr>
138 <td class="memname">void CInstructionSub::execute </td>
139 <td>(</td>
140 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
141 <td class="paramname"> <em>cpu</em> </td>
142 <td>&nbsp;)&nbsp;</td>
143 <td width="100%"><code> [virtual]</code></td>
144 </tr>
145 </table>
146</div>
147<div class="memdoc">
148
149<p>
150executes the instruction
151<p>
152<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
153<dl compact><dt><b>Parameters:</b></dt><dd>
154 <table border="0" cellspacing="2" cellpadding="0">
155 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
156 </table>
157</dl>
158<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
159<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
160<dl compact><dt><b>Exceptions:</b></dt><dd>
161 <table border="0" cellspacing="2" cellpadding="0">
162 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
163 </table>
164</dl>
165<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
166
167<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
168
169</div>
170</div><p>
171<hr><h2>Member Data Documentation</h2>
172<a class="anchor" name="f9884524cd60c34f3d9a5142e1e586fb"></a><!-- doxytag: member="CInstructionSub::m_regidx1" ref="f9884524cd60c34f3d9a5142e1e586fb" args="" -->
173<div class="memitem">
174<div class="memproto">
175 <table class="memname">
176 <tr>
177 <td class="memname">unsigned <a class="el" href="classCInstructionSub.html#f9884524cd60c34f3d9a5142e1e586fb">CInstructionSub::m_regidx1</a><code> [protected]</code> </td>
178 </tr>
179 </table>
180</div>
181<div class="memdoc">
182
183<p>
184register number
185</div>
186</div><p>
187<a class="anchor" name="67030fafc6429936130bbe26874c337c"></a><!-- doxytag: member="CInstructionSub::m_regidx2" ref="67030fafc6429936130bbe26874c337c" args="" -->
188<div class="memitem">
189<div class="memproto">
190 <table class="memname">
191 <tr>
192 <td class="memname">unsigned <a class="el" href="classCInstructionSub.html#67030fafc6429936130bbe26874c337c">CInstructionSub::m_regidx2</a><code> [protected]</code> </td>
193 </tr>
194 </table>
195</div>
196<div class="memdoc">
197
198<p>
199register number
200</div>
201</div><p>
202<a class="anchor" name="a059bfa11944c55216619bb4328ed44e"></a><!-- doxytag: member="CInstructionSub::m_regidx3" ref="a059bfa11944c55216619bb4328ed44e" args="" -->
203<div class="memitem">
204<div class="memproto">
205 <table class="memname">
206 <tr>
207 <td class="memname">unsigned <a class="el" href="classCInstructionSub.html#a059bfa11944c55216619bb4328ed44e">CInstructionSub::m_regidx3</a><code> [protected]</code> </td>
208 </tr>
209 </table>
210</div>
211<div class="memdoc">
212
213<p>
214register number
215</div>
216</div><p>
217<hr>The documentation for this class was generated from the following files:<ul>
218<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
219<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
220<a href="http://www.doxygen.org/index.html">
221<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
222</body>
223</html>
diff --git a/ue3/doxygen/classCInstructionSub.png b/ue3/doxygen/classCInstructionSub.png
new file mode 100644
index 0000000..a618537
--- /dev/null
+++ b/ue3/doxygen/classCInstructionSub.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionTest-members.html b/ue3/doxygen/classCInstructionTest-members.html
new file mode 100644
index 0000000..8da9434
--- /dev/null
+++ b/ue3/doxygen/classCInstructionTest-members.html
@@ -0,0 +1,43 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionTest Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionTest.html">CInstructionTest</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionTest</b>() (defined in <a class="el" href="classCInstructionTest.html">CInstructionTest</a>)</td><td><a class="el" href="classCInstructionTest.html">CInstructionTest</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionTest.html#b09f0e02ab71b01af6eda0152d1fc975">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionTest.html">CInstructionTest</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionTest.html#955cf58c41c9e305059baea28b65cf3a">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionTest.html">CInstructionTest</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionTest.html#9e4e1ac29b5173a70dc1172bbb096671">factory</a>()</td><td><a class="el" href="classCInstructionTest.html">CInstructionTest</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstructionTest.html#26744f0f306f4a181936fc6e389eb9e3">m_regidx1</a></td><td><a class="el" href="classCInstructionTest.html">CInstructionTest</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
39</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
40<a href="http://www.doxygen.org/index.html">
41<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
42</body>
43</html>
diff --git a/ue3/doxygen/classCInstructionTest.html b/ue3/doxygen/classCInstructionTest.html
new file mode 100644
index 0000000..fdb87d8
--- /dev/null
+++ b/ue3/doxygen/classCInstructionTest.html
@@ -0,0 +1,189 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionTest Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionTest Class Reference</h1><!-- doxytag: class="CInstructionTest" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionTest:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionTest.png" usemap="#CInstructionTest_map" border="0" alt=""></center>
30<map name="CInstructionTest_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,102,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionTest-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionTest.html">CInstructionTest</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionTest.html#9e4e1ac29b5173a70dc1172bbb096671">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#9e4e1ac29b5173a70dc1172bbb096671"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionTest.html#b09f0e02ab71b01af6eda0152d1fc975">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#b09f0e02ab71b01af6eda0152d1fc975"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionTest.html#955cf58c41c9e305059baea28b65cf3a">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#955cf58c41c9e305059baea28b65cf3a"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionTest.html#26744f0f306f4a181936fc6e389eb9e3">m_regidx1</a></td></tr>
50
51</table>
52<hr><a name="_details"></a><h2>Detailed Description</h2>
53Implementation of assembler command "test" Syntax: test R1 (R1 == 0: zeroflag: true, R1 &lt; 0: signflag: true) <hr><h2>Member Function Documentation</h2>
54<a class="anchor" name="9e4e1ac29b5173a70dc1172bbb096671"></a><!-- doxytag: member="CInstructionTest::factory" ref="9e4e1ac29b5173a70dc1172bbb096671" args="()" -->
55<div class="memitem">
56<div class="memproto">
57 <table class="memname">
58 <tr>
59 <td class="memname"><a class="el" href="classCInstructionTest.html">CInstructionTest</a>* CInstructionTest::factory </td>
60 <td>(</td>
61 <td class="paramname"> </td>
62 <td>&nbsp;)&nbsp;</td>
63 <td width="100%"><code> [inline, virtual]</code></td>
64 </tr>
65 </table>
66</div>
67<div class="memdoc">
68
69<p>
70creates a new instance of this instruction
71<p>
72<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
73<dl compact><dt><b>Parameters:</b></dt><dd>
74 <table border="0" cellspacing="2" cellpadding="0">
75 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
76 </table>
77</dl>
78<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
79<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
80<dl compact><dt><b>Exceptions:</b></dt><dd>
81 <table border="0" cellspacing="2" cellpadding="0">
82 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
83 </table>
84</dl>
85<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
86
87<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
88
89</div>
90</div><p>
91<a class="anchor" name="b09f0e02ab71b01af6eda0152d1fc975"></a><!-- doxytag: member="CInstructionTest::compile" ref="b09f0e02ab71b01af6eda0152d1fc975" args="(std::list&lt; std::string &gt; &amp;params)" -->
92<div class="memitem">
93<div class="memproto">
94 <table class="memname">
95 <tr>
96 <td class="memname">void CInstructionTest::compile </td>
97 <td>(</td>
98 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
99 <td class="paramname"> <em>params</em> </td>
100 <td>&nbsp;)&nbsp;</td>
101 <td width="100%"><code> [virtual]</code></td>
102 </tr>
103 </table>
104</div>
105<div class="memdoc">
106
107<p>
108parses instruction parameters and prepares the instruction for executing
109<p>
110<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
111<dl compact><dt><b>Parameters:</b></dt><dd>
112 <table border="0" cellspacing="2" cellpadding="0">
113 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
114 </table>
115</dl>
116<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
117<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
118<dl compact><dt><b>Exceptions:</b></dt><dd>
119 <table border="0" cellspacing="2" cellpadding="0">
120 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
121 </table>
122</dl>
123<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
124
125<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
126
127</div>
128</div><p>
129<a class="anchor" name="955cf58c41c9e305059baea28b65cf3a"></a><!-- doxytag: member="CInstructionTest::execute" ref="955cf58c41c9e305059baea28b65cf3a" args="(CCPU *cpu)" -->
130<div class="memitem">
131<div class="memproto">
132 <table class="memname">
133 <tr>
134 <td class="memname">void CInstructionTest::execute </td>
135 <td>(</td>
136 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
137 <td class="paramname"> <em>cpu</em> </td>
138 <td>&nbsp;)&nbsp;</td>
139 <td width="100%"><code> [virtual]</code></td>
140 </tr>
141 </table>
142</div>
143<div class="memdoc">
144
145<p>
146executes the instruction
147<p>
148<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
149<dl compact><dt><b>Parameters:</b></dt><dd>
150 <table border="0" cellspacing="2" cellpadding="0">
151 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
152 </table>
153</dl>
154<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
155<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
156<dl compact><dt><b>Exceptions:</b></dt><dd>
157 <table border="0" cellspacing="2" cellpadding="0">
158 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
159 </table>
160</dl>
161<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
162
163<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
164
165</div>
166</div><p>
167<hr><h2>Member Data Documentation</h2>
168<a class="anchor" name="26744f0f306f4a181936fc6e389eb9e3"></a><!-- doxytag: member="CInstructionTest::m_regidx1" ref="26744f0f306f4a181936fc6e389eb9e3" args="" -->
169<div class="memitem">
170<div class="memproto">
171 <table class="memname">
172 <tr>
173 <td class="memname">unsigned <a class="el" href="classCInstructionTest.html#26744f0f306f4a181936fc6e389eb9e3">CInstructionTest::m_regidx1</a><code> [protected]</code> </td>
174 </tr>
175 </table>
176</div>
177<div class="memdoc">
178
179<p>
180register number
181</div>
182</div><p>
183<hr>The documentation for this class was generated from the following files:<ul>
184<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
185<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
186<a href="http://www.doxygen.org/index.html">
187<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
188</body>
189</html>
diff --git a/ue3/doxygen/classCInstructionTest.png b/ue3/doxygen/classCInstructionTest.png
new file mode 100644
index 0000000..c91fec4
--- /dev/null
+++ b/ue3/doxygen/classCInstructionTest.png
Binary files differ
diff --git a/ue3/doxygen/classCInstructionWrite-members.html b/ue3/doxygen/classCInstructionWrite-members.html
new file mode 100644
index 0000000..63a0154
--- /dev/null
+++ b/ue3/doxygen/classCInstructionWrite-members.html
@@ -0,0 +1,44 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionWrite Member List</h1>This is the complete list of members for <a class="el" href="classCInstructionWrite.html">CInstructionWrite</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">checkRegister</a>(CCPU *cpu, const unsigned regidx)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>(std::string name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline]</code></td></tr>
26 <tr bgcolor="#f0f0f0"><td><b>CInstructionWrite</b>() (defined in <a class="el" href="classCInstructionWrite.html">CInstructionWrite</a>)</td><td><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a></td><td><code> [inline]</code></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCInstructionWrite.html#23f5bb8e4b8a74f7a8703d593323b991">compile</a>(std::list&lt; std::string &gt; &amp;params)</td><td><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a></td><td><code> [virtual]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">dump</a>(std::ostream &amp;stream)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
29 <tr class="memlist"><td><a class="el" href="classCInstructionWrite.html#1852e50c21b758a4db205a6cd20e208d">execute</a>(CCPU *cpu)</td><td><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a></td><td><code> [virtual]</code></td></tr>
30 <tr class="memlist"><td><a class="el" href="classCInstructionWrite.html#a33ddc8fb13dfaa253704eb0952f3cea">factory</a>()</td><td><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a></td><td><code> [inline, virtual]</code></td></tr>
31 <tr class="memlist"><td><a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">getName</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
32 <tr class="memlist"><td><a class="el" href="classCInstructionWrite.html#a8ac6c36d3fbbfedfa2311f15c0608cc">m_dev</a></td><td><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a></td><td><code> [protected]</code></td></tr>
33 <tr class="memlist"><td><a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">m_name</a></td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [protected]</code></td></tr>
34 <tr class="memlist"><td><a class="el" href="classCInstructionWrite.html#7af118a6f35320bbbee55051188311d6">m_regidx1</a></td><td><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a></td><td><code> [protected]</code></td></tr>
35 <tr class="memlist"><td><a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">operator()</a>(CCPU *cpu)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
36 <tr class="memlist"><td><a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">operator&lt;&lt;</a>(std::ostream &amp;stream, CInstruction &amp;instr)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [friend]</code></td></tr>
37 <tr class="memlist"><td><a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">operator==</a>(std::string &amp;name)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
38 <tr class="memlist"><td><a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">parseRegister</a>(const std::string &amp;str)</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [virtual]</code></td></tr>
39 <tr class="memlist"><td><a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">~CInstruction</a>()</td><td><a class="el" href="classCInstruction.html">CInstruction</a></td><td><code> [inline, virtual]</code></td></tr>
40</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
41<a href="http://www.doxygen.org/index.html">
42<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
43</body>
44</html>
diff --git a/ue3/doxygen/classCInstructionWrite.html b/ue3/doxygen/classCInstructionWrite.html
new file mode 100644
index 0000000..074667d
--- /dev/null
+++ b/ue3/doxygen/classCInstructionWrite.html
@@ -0,0 +1,206 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CInstructionWrite Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CInstructionWrite Class Reference</h1><!-- doxytag: class="CInstructionWrite" --><!-- doxytag: inherits="CInstruction" --><code>#include &lt;<a class="el" href="instructions_8h-source.html">instructions.h</a>&gt;</code>
24<p>
25<div class="dynheader">
26Inheritance diagram for CInstructionWrite:</div>
27<div class="dynsection">
28
29<p><center><img src="classCInstructionWrite.png" usemap="#CInstructionWrite_map" border="0" alt=""></center>
30<map name="CInstructionWrite_map">
31<area href="classCInstruction.html" alt="CInstruction" shape="rect" coords="0,0,108,24">
32</map>
33</div>
34
35<p>
36<a href="classCInstructionWrite-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37<tr><td></td></tr>
38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionWrite.html#a33ddc8fb13dfaa253704eb0952f3cea">factory</a> ()</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a new instance of this instruction <a href="#a33ddc8fb13dfaa253704eb0952f3cea"></a><br></td></tr>
42<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionWrite.html#23f5bb8e4b8a74f7a8703d593323b991">compile</a> (std::list&lt; std::string &gt; &amp;params)</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">parses instruction parameters and prepares the instruction for executing <a href="#23f5bb8e4b8a74f7a8703d593323b991"></a><br></td></tr>
45<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionWrite.html#1852e50c21b758a4db205a6cd20e208d">execute</a> (<a class="el" href="classCCPU.html">CCPU</a> *cpu)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">executes the instruction <a href="#1852e50c21b758a4db205a6cd20e208d"></a><br></td></tr>
48<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
49<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionWrite.html#7af118a6f35320bbbee55051188311d6">m_regidx1</a></td></tr>
50
51<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCInstructionWrite.html#a8ac6c36d3fbbfedfa2311f15c0608cc">m_dev</a></td></tr>
52
53</table>
54<hr><a name="_details"></a><h2>Detailed Description</h2>
55Implementation of assembler command "write" Syntax: write DEV, R1 (write R1 to DEV, which is a name of a display) <hr><h2>Member Function Documentation</h2>
56<a class="anchor" name="a33ddc8fb13dfaa253704eb0952f3cea"></a><!-- doxytag: member="CInstructionWrite::factory" ref="a33ddc8fb13dfaa253704eb0952f3cea" args="()" -->
57<div class="memitem">
58<div class="memproto">
59 <table class="memname">
60 <tr>
61 <td class="memname"><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a>* CInstructionWrite::factory </td>
62 <td>(</td>
63 <td class="paramname"> </td>
64 <td>&nbsp;)&nbsp;</td>
65 <td width="100%"><code> [inline, virtual]</code></td>
66 </tr>
67 </table>
68</div>
69<div class="memdoc">
70
71<p>
72creates a new instance of this instruction
73<p>
74<dl class="user" compact><dt><b>Methodname:</b></dt><dd>factory </dd></dl>
75<dl compact><dt><b>Parameters:</b></dt><dd>
76 <table border="0" cellspacing="2" cellpadding="0">
77 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
78 </table>
79</dl>
80<dl class="return" compact><dt><b>Returns:</b></dt><dd>new instruction instance </dd></dl>
81<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
82<dl compact><dt><b>Exceptions:</b></dt><dd>
83 <table border="0" cellspacing="2" cellpadding="0">
84 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
85 </table>
86</dl>
87<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
88
89<p>Implements <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>.</p>
90
91</div>
92</div><p>
93<a class="anchor" name="23f5bb8e4b8a74f7a8703d593323b991"></a><!-- doxytag: member="CInstructionWrite::compile" ref="23f5bb8e4b8a74f7a8703d593323b991" args="(std::list&lt; std::string &gt; &amp;params)" -->
94<div class="memitem">
95<div class="memproto">
96 <table class="memname">
97 <tr>
98 <td class="memname">void CInstructionWrite::compile </td>
99 <td>(</td>
100 <td class="paramtype">std::list&lt; std::string &gt; &amp;&nbsp;</td>
101 <td class="paramname"> <em>params</em> </td>
102 <td>&nbsp;)&nbsp;</td>
103 <td width="100%"><code> [virtual]</code></td>
104 </tr>
105 </table>
106</div>
107<div class="memdoc">
108
109<p>
110parses instruction parameters and prepares the instruction for executing
111<p>
112<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
113<dl compact><dt><b>Parameters:</b></dt><dd>
114 <table border="0" cellspacing="2" cellpadding="0">
115 <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>list of parameters of this instruction </td></tr>
116 </table>
117</dl>
118<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
119<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
120<dl compact><dt><b>Exceptions:</b></dt><dd>
121 <table border="0" cellspacing="2" cellpadding="0">
122 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
123 </table>
124</dl>
125<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
126
127<p>Implements <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>.</p>
128
129</div>
130</div><p>
131<a class="anchor" name="1852e50c21b758a4db205a6cd20e208d"></a><!-- doxytag: member="CInstructionWrite::execute" ref="1852e50c21b758a4db205a6cd20e208d" args="(CCPU *cpu)" -->
132<div class="memitem">
133<div class="memproto">
134 <table class="memname">
135 <tr>
136 <td class="memname">void CInstructionWrite::execute </td>
137 <td>(</td>
138 <td class="paramtype"><a class="el" href="classCCPU.html">CCPU</a> *&nbsp;</td>
139 <td class="paramname"> <em>cpu</em> </td>
140 <td>&nbsp;)&nbsp;</td>
141 <td width="100%"><code> [virtual]</code></td>
142 </tr>
143 </table>
144</div>
145<div class="memdoc">
146
147<p>
148executes the instruction
149<p>
150<dl class="user" compact><dt><b>Methodname:</b></dt><dd>execute </dd></dl>
151<dl compact><dt><b>Parameters:</b></dt><dd>
152 <table border="0" cellspacing="2" cellpadding="0">
153 <tr><td valign="top"></td><td valign="top"><em>cpu</em>&nbsp;</td><td>pointer to cpu </td></tr>
154 </table>
155</dl>
156<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
157<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
158<dl compact><dt><b>Exceptions:</b></dt><dd>
159 <table border="0" cellspacing="2" cellpadding="0">
160 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
161 </table>
162</dl>
163<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
164
165<p>Implements <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>.</p>
166
167</div>
168</div><p>
169<hr><h2>Member Data Documentation</h2>
170<a class="anchor" name="7af118a6f35320bbbee55051188311d6"></a><!-- doxytag: member="CInstructionWrite::m_regidx1" ref="7af118a6f35320bbbee55051188311d6" args="" -->
171<div class="memitem">
172<div class="memproto">
173 <table class="memname">
174 <tr>
175 <td class="memname">unsigned <a class="el" href="classCInstructionWrite.html#7af118a6f35320bbbee55051188311d6">CInstructionWrite::m_regidx1</a><code> [protected]</code> </td>
176 </tr>
177 </table>
178</div>
179<div class="memdoc">
180
181<p>
182register number
183</div>
184</div><p>
185<a class="anchor" name="a8ac6c36d3fbbfedfa2311f15c0608cc"></a><!-- doxytag: member="CInstructionWrite::m_dev" ref="a8ac6c36d3fbbfedfa2311f15c0608cc" args="" -->
186<div class="memitem">
187<div class="memproto">
188 <table class="memname">
189 <tr>
190 <td class="memname">std::string <a class="el" href="classCInstructionWrite.html#a8ac6c36d3fbbfedfa2311f15c0608cc">CInstructionWrite::m_dev</a><code> [protected]</code> </td>
191 </tr>
192 </table>
193</div>
194<div class="memdoc">
195
196<p>
197device name
198</div>
199</div><p>
200<hr>The documentation for this class was generated from the following files:<ul>
201<li>mycpu/<a class="el" href="instructions_8h-source.html">instructions.h</a><li>mycpu/instructions.cpp</ul>
202<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
203<a href="http://www.doxygen.org/index.html">
204<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
205</body>
206</html>
diff --git a/ue3/doxygen/classCInstructionWrite.png b/ue3/doxygen/classCInstructionWrite.png
new file mode 100644
index 0000000..23bf880
--- /dev/null
+++ b/ue3/doxygen/classCInstructionWrite.png
Binary files differ
diff --git a/ue3/doxygen/classCMem.html b/ue3/doxygen/classCMem.html
new file mode 100644
index 0000000..6cc1e67
--- /dev/null
+++ b/ue3/doxygen/classCMem.html
@@ -0,0 +1,35 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CMem Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CMem Class Reference</h1><!-- doxytag: class="CMem" --><code>#include &lt;<a class="el" href="cmem_8h-source.html">cmem.h</a>&gt;</code>
24<p>
25<table border="0" cellpadding="0" cellspacing="0">
26<tr><td></td></tr>
27</table>
28<hr><a name="_details"></a><h2>Detailed Description</h2>
29Memory definition for <a class="el" href="classCCPU.html">CCPU</a> <hr>The documentation for this class was generated from the following file:<ul>
30<li>mycpu/<a class="el" href="cmem_8h-source.html">cmem.h</a></ul>
31<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
32<a href="http://www.doxygen.org/index.html">
33<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
34</body>
35</html>
diff --git a/ue3/doxygen/classCProgram-members.html b/ue3/doxygen/classCProgram-members.html
new file mode 100644
index 0000000..014f9cf
--- /dev/null
+++ b/ue3/doxygen/classCProgram-members.html
@@ -0,0 +1,33 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CProgram Member List</h1>This is the complete list of members for <a class="el" href="classCProgram.html">CProgram</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCProgram.html#e75e8a7709afcebc7f1537db247f9671">compile</a>(std::istream &amp;in)</td><td><a class="el" href="classCProgram.html">CProgram</a></td><td></td></tr>
25 <tr class="memlist"><td><a class="el" href="classCProgram.html#74d3ca01d5e8b892f37684254ae546ed">CProgram</a>()</td><td><a class="el" href="classCProgram.html">CProgram</a></td><td></td></tr>
26 <tr class="memlist"><td><a class="el" href="classCProgram.html#4c29c5c7932174242c50fd9d1c5bc1ec">findLabel</a>(const std::string &amp;label) const </td><td><a class="el" href="classCProgram.html">CProgram</a></td><td></td></tr>
27 <tr class="memlist"><td><a class="el" href="classCProgram.html#8d5dc184872d4616d327c87ffa665804">getLabels</a>() const </td><td><a class="el" href="classCProgram.html">CProgram</a></td><td><code> [inline]</code></td></tr>
28 <tr class="memlist"><td><a class="el" href="classCProgram.html#7dfeb30706e7af06114fdf18262d7926">~CProgram</a>()</td><td><a class="el" href="classCProgram.html">CProgram</a></td><td></td></tr>
29</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
30<a href="http://www.doxygen.org/index.html">
31<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
32</body>
33</html>
diff --git a/ue3/doxygen/classCProgram.html b/ue3/doxygen/classCProgram.html
new file mode 100644
index 0000000..a756aaa
--- /dev/null
+++ b/ue3/doxygen/classCProgram.html
@@ -0,0 +1,234 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CProgram Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CProgram Class Reference</h1><!-- doxytag: class="CProgram" --><code>#include &lt;<a class="el" href="cprogram_8h-source.html">cprogram.h</a>&gt;</code>
24<p>
25
26<p>
27<a href="classCProgram-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
28<tr><td></td></tr>
29<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
30<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCProgram.html#74d3ca01d5e8b892f37684254ae546ed">CProgram</a> ()</td></tr>
31
32<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default ctor. <a href="#74d3ca01d5e8b892f37684254ae546ed"></a><br></td></tr>
33<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCProgram.html#7dfeb30706e7af06114fdf18262d7926">~CProgram</a> ()</td></tr>
34
35<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default dtor. <a href="#7dfeb30706e7af06114fdf18262d7926"></a><br></td></tr>
36<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::map<br>
37&lt; std::string,<br>
38 unsigned &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCProgram.html#8d5dc184872d4616d327c87ffa665804">getLabels</a> () const </td></tr>
39
40<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get reference to labels map <a href="#8d5dc184872d4616d327c87ffa665804"></a><br></td></tr>
41<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCProgram.html#4c29c5c7932174242c50fd9d1c5bc1ec">findLabel</a> (const std::string &amp;label) const </td></tr>
42
43<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">search for label <a href="#4c29c5c7932174242c50fd9d1c5bc1ec"></a><br></td></tr>
44<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCProgram.html#e75e8a7709afcebc7f1537db247f9671">compile</a> (std::istream &amp;in)</td></tr>
45
46<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create instructions from parsing stream <a href="#e75e8a7709afcebc7f1537db247f9671"></a><br></td></tr>
47</table>
48<hr><a name="_details"></a><h2>Detailed Description</h2>
49<a class="el" href="classCProgram.html">CProgram</a> extends std::vector and adds a method for parsing programfile. This adds instances of <a class="el" href="classCInstruction.html">CInstruction</a> to <a class="el" href="classCProgram.html">CProgram</a> itself. <hr><h2>Constructor &amp; Destructor Documentation</h2>
50<a class="anchor" name="74d3ca01d5e8b892f37684254ae546ed"></a><!-- doxytag: member="CProgram::CProgram" ref="74d3ca01d5e8b892f37684254ae546ed" args="()" -->
51<div class="memitem">
52<div class="memproto">
53 <table class="memname">
54 <tr>
55 <td class="memname">CProgram::CProgram </td>
56 <td>(</td>
57 <td class="paramname"> </td>
58 <td>&nbsp;)&nbsp;</td>
59 <td width="100%"></td>
60 </tr>
61 </table>
62</div>
63<div class="memdoc">
64
65<p>
66Default ctor.
67<p>
68<dl class="user" compact><dt><b>Methodname:</b></dt><dd><a class="el" href="classCProgram.html">CProgram</a> </dd></dl>
69<dl compact><dt><b>Parameters:</b></dt><dd>
70 <table border="0" cellspacing="2" cellpadding="0">
71 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
72 </table>
73</dl>
74<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
75<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
76<dl compact><dt><b>Exceptions:</b></dt><dd>
77 <table border="0" cellspacing="2" cellpadding="0">
78 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
79 </table>
80</dl>
81<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
82
83</div>
84</div><p>
85<a class="anchor" name="7dfeb30706e7af06114fdf18262d7926"></a><!-- doxytag: member="CProgram::~CProgram" ref="7dfeb30706e7af06114fdf18262d7926" args="()" -->
86<div class="memitem">
87<div class="memproto">
88 <table class="memname">
89 <tr>
90 <td class="memname">CProgram::~CProgram </td>
91 <td>(</td>
92 <td class="paramname"> </td>
93 <td>&nbsp;)&nbsp;</td>
94 <td width="100%"></td>
95 </tr>
96 </table>
97</div>
98<div class="memdoc">
99
100<p>
101Default dtor.
102<p>
103<dl class="user" compact><dt><b>Methodname:</b></dt><dd>~CProgram </dd></dl>
104<dl compact><dt><b>Parameters:</b></dt><dd>
105 <table border="0" cellspacing="2" cellpadding="0">
106 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
107 </table>
108</dl>
109<dl class="return" compact><dt><b>Returns:</b></dt><dd>- </dd></dl>
110<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
111<dl compact><dt><b>Exceptions:</b></dt><dd>
112 <table border="0" cellspacing="2" cellpadding="0">
113 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
114 </table>
115</dl>
116<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
117
118</div>
119</div><p>
120<hr><h2>Member Function Documentation</h2>
121<a class="anchor" name="8d5dc184872d4616d327c87ffa665804"></a><!-- doxytag: member="CProgram::getLabels" ref="8d5dc184872d4616d327c87ffa665804" args="() const " -->
122<div class="memitem">
123<div class="memproto">
124 <table class="memname">
125 <tr>
126 <td class="memname">const std::map&lt;std::string, unsigned&gt;&amp; CProgram::getLabels </td>
127 <td>(</td>
128 <td class="paramname"> </td>
129 <td>&nbsp;)&nbsp;</td>
130 <td width="100%"> const<code> [inline]</code></td>
131 </tr>
132 </table>
133</div>
134<div class="memdoc">
135
136<p>
137get reference to labels map
138<p>
139<dl class="user" compact><dt><b>Methodname:</b></dt><dd>getLabels </dd></dl>
140<dl compact><dt><b>Parameters:</b></dt><dd>
141 <table border="0" cellspacing="2" cellpadding="0">
142 <tr><td valign="top"></td><td valign="top"><em>-</em>&nbsp;</td><td></td></tr>
143 </table>
144</dl>
145<dl class="return" compact><dt><b>Returns:</b></dt><dd>reference to labels map </dd></dl>
146<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
147<dl compact><dt><b>Exceptions:</b></dt><dd>
148 <table border="0" cellspacing="2" cellpadding="0">
149 <tr><td valign="top"></td><td valign="top"><em>none</em>&nbsp;</td><td></td></tr>
150 </table>
151</dl>
152<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
153
154</div>
155</div><p>
156<a class="anchor" name="4c29c5c7932174242c50fd9d1c5bc1ec"></a><!-- doxytag: member="CProgram::findLabel" ref="4c29c5c7932174242c50fd9d1c5bc1ec" args="(const std::string &amp;label) const " -->
157<div class="memitem">
158<div class="memproto">
159 <table class="memname">
160 <tr>
161 <td class="memname">unsigned CProgram::findLabel </td>
162 <td>(</td>
163 <td class="paramtype">const std::string &amp;&nbsp;</td>
164 <td class="paramname"> <em>label</em> </td>
165 <td>&nbsp;)&nbsp;</td>
166 <td width="100%"> const</td>
167 </tr>
168 </table>
169</div>
170<div class="memdoc">
171
172<p>
173search for label
174<p>
175<dl class="user" compact><dt><b>Methodname:</b></dt><dd>findLabel </dd></dl>
176<dl compact><dt><b>Parameters:</b></dt><dd>
177 <table border="0" cellspacing="2" cellpadding="0">
178 <tr><td valign="top"></td><td valign="top"><em>label</em>&nbsp;</td><td>name of label to search for </td></tr>
179 </table>
180</dl>
181<dl class="return" compact><dt><b>Returns:</b></dt><dd>index of found label in program </dd></dl>
182<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
183<dl compact><dt><b>Exceptions:</b></dt><dd>
184 <table border="0" cellspacing="2" cellpadding="0">
185 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
186 </table>
187</dl>
188<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
189
190</div>
191</div><p>
192<a class="anchor" name="e75e8a7709afcebc7f1537db247f9671"></a><!-- doxytag: member="CProgram::compile" ref="e75e8a7709afcebc7f1537db247f9671" args="(std::istream &amp;in)" -->
193<div class="memitem">
194<div class="memproto">
195 <table class="memname">
196 <tr>
197 <td class="memname">void CProgram::compile </td>
198 <td>(</td>
199 <td class="paramtype">std::istream &amp;&nbsp;</td>
200 <td class="paramname"> <em>in</em> </td>
201 <td>&nbsp;)&nbsp;</td>
202 <td width="100%"></td>
203 </tr>
204 </table>
205</div>
206<div class="memdoc">
207
208<p>
209create instructions from parsing stream
210<p>
211<dl class="user" compact><dt><b>Methodname:</b></dt><dd>compile </dd></dl>
212<dl compact><dt><b>Parameters:</b></dt><dd>
213 <table border="0" cellspacing="2" cellpadding="0">
214 <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>inputstream to read from </td></tr>
215 </table>
216</dl>
217<dl class="return" compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
218<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
219<dl compact><dt><b>Exceptions:</b></dt><dd>
220 <table border="0" cellspacing="2" cellpadding="0">
221 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
222 </table>
223</dl>
224<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
225
226</div>
227</div><p>
228<hr>The documentation for this class was generated from the following files:<ul>
229<li>mycpu/<a class="el" href="cprogram_8h-source.html">cprogram.h</a><li>mycpu/cprogram.cpp</ul>
230<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
231<a href="http://www.doxygen.org/index.html">
232<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
233</body>
234</html>
diff --git a/ue3/doxygen/classCVectorMem-members.html b/ue3/doxygen/classCVectorMem-members.html
new file mode 100644
index 0000000..30a783a
--- /dev/null
+++ b/ue3/doxygen/classCVectorMem-members.html
@@ -0,0 +1,29 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Member List</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CVectorMem&lt; T, Allocator &gt; Member List</h1>This is the complete list of members for <a class="el" href="classCVectorMem.html">CVectorMem&lt; T, Allocator &gt;</a>, including all inherited members.<p><table>
24 <tr class="memlist"><td><a class="el" href="classCVectorMem.html#d45b088f04cf2af4c6c91bd670c5f9e6">initialize</a>(std::istream &amp;in)</td><td><a class="el" href="classCVectorMem.html">CVectorMem&lt; T, Allocator &gt;</a></td><td><code> [inline]</code></td></tr>
25</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
26<a href="http://www.doxygen.org/index.html">
27<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
28</body>
29</html>
diff --git a/ue3/doxygen/classCVectorMem.html b/ue3/doxygen/classCVectorMem.html
new file mode 100644
index 0000000..599c348
--- /dev/null
+++ b/ue3/doxygen/classCVectorMem.html
@@ -0,0 +1,83 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: CVectorMem&lt; T, Allocator &gt; Class Template Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>CVectorMem&lt; T, Allocator &gt; Class Template Reference</h1><!-- doxytag: class="CVectorMem" --><code>#include &lt;<a class="el" href="cmem_8h-source.html">cmem.h</a>&gt;</code>
24<p>
25
26<p>
27<a href="classCVectorMem-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
28<tr><td></td></tr>
29<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
30<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVectorMem.html#d45b088f04cf2af4c6c91bd670c5f9e6">initialize</a> (std::istream &amp;in)</td></tr>
31
32<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize the vector with the content of istream. istream is read per line. empty lines will add unitialized elements. <a href="#d45b088f04cf2af4c6c91bd670c5f9e6"></a><br></td></tr>
33</table>
34<hr><a name="_details"></a><h2>Detailed Description</h2>
35<h3>template&lt;class T, class Allocator = std::allocator&lt;T&gt;&gt;<br>
36 class CVectorMem&lt; T, Allocator &gt;</h3>
37
38Extends std::vector template for use as memory for <a class="el" href="classCCPU.html">CCPU</a>. <hr><h2>Member Function Documentation</h2>
39<a class="anchor" name="d45b088f04cf2af4c6c91bd670c5f9e6"></a><!-- doxytag: member="CVectorMem::initialize" ref="d45b088f04cf2af4c6c91bd670c5f9e6" args="(std::istream &amp;in)" -->
40<div class="memitem">
41<div class="memproto">
42<div class="memtemplate">
43template&lt;class T, class Allocator = std::allocator&lt;T&gt;&gt; </div>
44 <table class="memname">
45 <tr>
46 <td class="memname">void <a class="el" href="classCVectorMem.html">CVectorMem</a>&lt; T, Allocator &gt;::initialize </td>
47 <td>(</td>
48 <td class="paramtype">std::istream &amp;&nbsp;</td>
49 <td class="paramname"> <em>in</em> </td>
50 <td>&nbsp;)&nbsp;</td>
51 <td width="100%"><code> [inline]</code></td>
52 </tr>
53 </table>
54</div>
55<div class="memdoc">
56
57<p>
58initialize the vector with the content of istream. istream is read per line. empty lines will add unitialized elements.
59<p>
60<dl class="user" compact><dt><b>Methodname:</b></dt><dd>initialize </dd></dl>
61<dl compact><dt><b>Parameters:</b></dt><dd>
62 <table border="0" cellspacing="2" cellpadding="0">
63 <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>inputstream to read from </td></tr>
64 </table>
65</dl>
66<dl class="return" compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
67<dl class="user" compact><dt><b>Global variables used:</b></dt><dd>none </dd></dl>
68<dl compact><dt><b>Exceptions:</b></dt><dd>
69 <table border="0" cellspacing="2" cellpadding="0">
70 <tr><td valign="top"></td><td valign="top"><em>std::runtime_error</em>&nbsp;</td><td></td></tr>
71 </table>
72</dl>
73<dl class="user" compact><dt><b>Conditions:</b></dt><dd>none </dd></dl>
74
75</div>
76</div><p>
77<hr>The documentation for this class was generated from the following file:<ul>
78<li>mycpu/<a class="el" href="cmem_8h-source.html">cmem.h</a></ul>
79<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
80<a href="http://www.doxygen.org/index.html">
81<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
82</body>
83</html>
diff --git a/ue3/doxygen/cmem_8h-source.html b/ue3/doxygen/cmem_8h-source.html
new file mode 100644
index 0000000..6dfeef4
--- /dev/null
+++ b/ue3/doxygen/cmem_8h-source.html
@@ -0,0 +1,95 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: mycpu/cmem.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu/cmem.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17<a name="l00008"></a>00008 <span class="preprocessor">#ifndef CMEM_H</span>
18<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define CMEM_H 1</span>
19<a name="l00010"></a>00010 <span class="preprocessor"></span>
20<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;vector&gt;</span>
21<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;istream&gt;</span>
22<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;sstream&gt;</span>
23<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;stdexcept&gt;</span>
24<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/lexical_cast.hpp&gt;</span>
25<a name="l00016"></a>00016 <span class="preprocessor">#ifdef DEBUG</span>
26<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor"># include &lt;iostream&gt;</span>
27<a name="l00018"></a>00018 <span class="preprocessor"># include &lt;iomanip&gt;</span>
28<a name="l00019"></a>00019 <span class="preprocessor">#endif</span>
29<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#include "cdat.h"</span>
30<a name="l00021"></a>00021
31<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T, <span class="keyword">class</span> Allocator=std::allocator&lt;T&gt; &gt;
32<a name="l00028"></a><a class="code" href="classCVectorMem.html">00028</a> <span class="keyword">class </span><a class="code" href="classCVectorMem.html">CVectorMem</a>
33<a name="l00029"></a>00029 : <span class="keyword">public</span> std::vector&lt;T, Allocator&gt;
34<a name="l00030"></a>00030 {
35<a name="l00031"></a>00031 <span class="keyword">public</span>:
36<a name="l00032"></a>00032 <span class="keyword">using</span> std::vector&lt;T, Allocator&gt;::size;
37<a name="l00033"></a>00033 <span class="keyword">using</span> std::vector&lt;T, Allocator&gt;::at;
38<a name="l00034"></a>00034
39<a name="l00045"></a><a class="code" href="classCVectorMem.html#d45b088f04cf2af4c6c91bd670c5f9e6">00045</a> <span class="keywordtype">void</span> <a class="code" href="classCVectorMem.html#d45b088f04cf2af4c6c91bd670c5f9e6" title="initialize the vector with the content of istream. istream is read per line. empty...">initialize</a>(std::istream&amp; in)
40<a name="l00046"></a>00046 {
41<a name="l00047"></a>00047 <span class="keywordflow">if</span> (!in.good())
42<a name="l00048"></a>00048 <span class="keywordflow">return</span>;
43<a name="l00049"></a>00049
44<a name="l00050"></a>00050 std::string line;
45<a name="l00051"></a>00051 <span class="keywordtype">unsigned</span> i = 0;
46<a name="l00052"></a>00052 <span class="keywordflow">while</span> (!in.eof() &amp;&amp; in.good())
47<a name="l00053"></a>00053 {
48<a name="l00054"></a>00054 ++i;
49<a name="l00055"></a>00055 std::getline(in, line);
50<a name="l00056"></a>00056
51<a name="l00057"></a>00057 <span class="comment">/* skip last line if it's empty */</span>
52<a name="l00058"></a>00058 <span class="keywordflow">if</span> (line.empty() &amp;&amp; in.eof())
53<a name="l00059"></a>00059 <span class="keywordflow">break</span>;
54<a name="l00060"></a>00060
55<a name="l00061"></a>00061 T value;
56<a name="l00062"></a>00062 <span class="keywordflow">try</span>
57<a name="l00063"></a>00063 {
58<a name="l00064"></a>00064 <span class="keywordflow">if</span> (!line.empty())
59<a name="l00065"></a>00065 value = boost::lexical_cast&lt;T&gt;(line);
60<a name="l00066"></a>00066 }
61<a name="l00067"></a>00067 <span class="keywordflow">catch</span>(boost::bad_lexical_cast&amp; ex)
62<a name="l00068"></a>00068 {
63<a name="l00069"></a>00069 std::stringstream sstr;
64<a name="l00070"></a>00070 sstr &lt;&lt; <span class="stringliteral">"Unable to convert input (line "</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">"): "</span> &lt;&lt; ex.what();
65<a name="l00071"></a>00071 <span class="keywordflow">throw</span> std::runtime_error(sstr.str());
66<a name="l00072"></a>00072 }
67<a name="l00073"></a>00073
68<a name="l00074"></a>00074 push_back(value);
69<a name="l00075"></a>00075 }
70<a name="l00076"></a>00076 }
71<a name="l00077"></a>00077
72<a name="l00078"></a>00078 <span class="preprocessor">#if DEBUG</span>
73<a name="l00079"></a>00079 <span class="preprocessor"></span>
74<a name="l00088"></a>00088 <span class="keywordtype">void</span> dump(std::ostream&amp; out)
75<a name="l00089"></a>00089 {
76<a name="l00090"></a>00090 out &lt;&lt; <span class="stringliteral">"[MEMORY DUMP]"</span> &lt;&lt; std::endl;
77<a name="l00091"></a>00091 <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> i = 0; i &lt; size(); ++i)
78<a name="l00092"></a>00092 {
79<a name="l00093"></a>00093 out &lt;&lt; <span class="stringliteral">"["</span> &lt;&lt; std::setw(4) &lt;&lt; std::setfill(<span class="charliteral">'0'</span>) &lt;&lt; i &lt;&lt; <span class="stringliteral">"] "</span>
80<a name="l00094"></a>00094 &lt;&lt; at(i) &lt;&lt; std::endl;
81<a name="l00095"></a>00095 }
82<a name="l00096"></a>00096 }
83<a name="l00097"></a>00097 <span class="preprocessor">#endif</span>
84<a name="l00098"></a>00098 <span class="preprocessor"></span>};
85<a name="l00099"></a>00099
86<a name="l00105"></a>00105 <span class="keyword">typedef</span> <a class="code" href="classCVectorMem.html">CVectorMem&lt;CDat&gt;</a> <a class="code" href="classCMem.html">CMem</a>;
87<a name="l00106"></a>00106
88<a name="l00107"></a>00107 <span class="preprocessor">#endif</span>
89<a name="l00108"></a>00108 <span class="preprocessor"></span>
90<a name="l00109"></a>00109 <span class="comment">/* vim: set et sw=2 ts=2: */</span>
91</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
92<a href="http://www.doxygen.org/index.html">
93<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
94</body>
95</html>
diff --git a/ue3/doxygen/cprogram_8h-source.html b/ue3/doxygen/cprogram_8h-source.html
new file mode 100644
index 0000000..dfd39a8
--- /dev/null
+++ b/ue3/doxygen/cprogram_8h-source.html
@@ -0,0 +1,60 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: mycpu/cprogram.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu/cprogram.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17<a name="l00008"></a>00008 <span class="preprocessor">#ifndef CPROGRAM_H</span>
18<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define CPROGRAM_H 1</span>
19<a name="l00010"></a>00010 <span class="preprocessor"></span>
20<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;vector&gt;</span>
21<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;set&gt;</span>
22<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;map&gt;</span>
23<a name="l00014"></a>00014 <span class="preprocessor">#include "cinstruction.h"</span>
24<a name="l00015"></a>00015
25<a name="l00022"></a><a class="code" href="classCProgram.html">00022</a> <span class="keyword">class </span><a class="code" href="classCProgram.html">CProgram</a>
26<a name="l00023"></a>00023 : <span class="keyword">public</span> std::vector&lt;CInstruction *&gt;
27<a name="l00024"></a>00024 {
28<a name="l00025"></a>00025 <span class="keyword">public</span>:
29<a name="l00035"></a>00035 <a class="code" href="classCProgram.html#74d3ca01d5e8b892f37684254ae546ed" title="Default ctor.">CProgram</a>();
30<a name="l00036"></a>00036
31<a name="l00046"></a>00046 <a class="code" href="classCProgram.html#7dfeb30706e7af06114fdf18262d7926" title="Default dtor.">~CProgram</a>();
32<a name="l00047"></a>00047
33<a name="l00057"></a><a class="code" href="classCProgram.html#8d5dc184872d4616d327c87ffa665804">00057</a> <span class="keyword">const</span> std::map&lt;std::string, unsigned&gt;&amp; <a class="code" href="classCProgram.html#8d5dc184872d4616d327c87ffa665804" title="get reference to labels map">getLabels</a>()<span class="keyword"> const</span>
34<a name="l00058"></a>00058 <span class="keyword"> </span>{
35<a name="l00059"></a>00059 <span class="keywordflow">return</span> m_labels;
36<a name="l00060"></a>00060 }
37<a name="l00061"></a>00061
38<a name="l00071"></a>00071 <span class="keywordtype">unsigned</span> <a class="code" href="classCProgram.html#4c29c5c7932174242c50fd9d1c5bc1ec" title="search for label">findLabel</a>(<span class="keyword">const</span> std::string&amp; label) <span class="keyword">const</span>;
39<a name="l00072"></a>00072
40<a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="classCProgram.html#e75e8a7709afcebc7f1537db247f9671" title="create instructions from parsing stream">compile</a>(std::istream&amp; in);
41<a name="l00083"></a>00083
42<a name="l00084"></a>00084 <span class="preprocessor">#if DEBUG</span>
43<a name="l00085"></a>00085 <span class="preprocessor"></span>
44<a name="l00094"></a>00094 <span class="keywordtype">void</span> dump(std::ostream&amp; out);
45<a name="l00095"></a>00095 <span class="preprocessor">#endif</span>
46<a name="l00096"></a>00096 <span class="preprocessor"></span>
47<a name="l00097"></a>00097 <span class="keyword">private</span>:
48<a name="l00098"></a>00098 <span class="comment">/* members */</span>
49<a name="l00100"></a>00100 std::set&lt;CInstruction *&gt; m_instrset;
50<a name="l00101"></a>00101 std::map&lt;std::string, unsigned&gt; m_labels;
51<a name="l00102"></a>00102 };
52<a name="l00103"></a>00103
53<a name="l00104"></a>00104 <span class="preprocessor">#endif</span>
54<a name="l00105"></a>00105 <span class="preprocessor"></span>
55<a name="l00106"></a>00106 <span class="comment">/* vim: set et sw=2 ts=2: */</span>
56</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
57<a href="http://www.doxygen.org/index.html">
58<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
59</body>
60</html>
diff --git a/ue3/doxygen/displays_8h-source.html b/ue3/doxygen/displays_8h-source.html
new file mode 100644
index 0000000..7bc4076
--- /dev/null
+++ b/ue3/doxygen/displays_8h-source.html
@@ -0,0 +1,60 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: mycpu/displays.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu/displays.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17<a name="l00008"></a>00008 <span class="preprocessor">#ifndef DISPLAYS_H</span>
18<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define DISPLAYS_H 1</span>
19<a name="l00010"></a>00010 <span class="preprocessor"></span>
20<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;iomanip&gt;</span>
21<a name="l00012"></a>00012 <span class="preprocessor">#include "cdisplay.h"</span>
22<a name="l00013"></a>00013
23<a name="l00020"></a><a class="code" href="classCDisplayWDEZ.html">00020</a> <span class="keyword">class </span><a class="code" href="classCDisplayWDEZ.html">CDisplayWDEZ</a>
24<a name="l00021"></a>00021 : <span class="keyword">public</span> <a class="code" href="classCDisplay.html">CDisplay</a>
25<a name="l00022"></a>00022 {
26<a name="l00023"></a>00023 <span class="keyword">public</span>:
27<a name="l00024"></a>00024 <a class="code" href="classCDisplayWDEZ.html">CDisplayWDEZ</a>()
28<a name="l00025"></a>00025 : <a class="code" href="classCDisplay.html">CDisplay</a>(<span class="stringliteral">"wdez"</span>)
29<a name="l00026"></a>00026 {}
30<a name="l00027"></a>00027
31<a name="l00037"></a><a class="code" href="classCDisplayWDEZ.html#91798e80f37ec86e3aa7d0f899e3a8dc">00037</a> <span class="keywordtype">void</span> <a class="code" href="classCDisplayWDEZ.html#91798e80f37ec86e3aa7d0f899e3a8dc" title="prints value to display">display</a>(<span class="keyword">const</span> <a class="code" href="classCDat.html">CDat</a> &amp;value)
32<a name="l00038"></a>00038 {
33<a name="l00039"></a>00039 std::cout &lt;&lt; std::dec &lt;&lt; value &lt;&lt; std::endl;
34<a name="l00040"></a>00040 }
35<a name="l00041"></a>00041 };
36<a name="l00042"></a>00042
37<a name="l00043"></a>00043 <span class="comment">/*============================================================================*/</span>
38<a name="l00044"></a>00044
39<a name="l00051"></a><a class="code" href="classCDisplayWHEX.html">00051</a> <span class="keyword">class </span><a class="code" href="classCDisplayWHEX.html">CDisplayWHEX</a>
40<a name="l00052"></a>00052 : <span class="keyword">public</span> <a class="code" href="classCDisplay.html">CDisplay</a>
41<a name="l00053"></a>00053 {
42<a name="l00054"></a>00054 <span class="keyword">public</span>:
43<a name="l00055"></a>00055 <a class="code" href="classCDisplayWHEX.html">CDisplayWHEX</a>()
44<a name="l00056"></a>00056 : <a class="code" href="classCDisplay.html">CDisplay</a>(<span class="stringliteral">"whex"</span>)
45<a name="l00057"></a>00057 {}
46<a name="l00058"></a>00058
47<a name="l00068"></a><a class="code" href="classCDisplayWHEX.html#6adaa6532cd684060029e31457d83752">00068</a> <span class="keywordtype">void</span> <a class="code" href="classCDisplayWHEX.html#6adaa6532cd684060029e31457d83752" title="prints value to display">display</a>(<span class="keyword">const</span> <a class="code" href="classCDat.html">CDat</a> &amp;value)
48<a name="l00069"></a>00069 {
49<a name="l00070"></a>00070 std::cout &lt;&lt; std::hex &lt;&lt; value &lt;&lt; std::endl;
50<a name="l00071"></a>00071 }
51<a name="l00072"></a>00072 };
52<a name="l00073"></a>00073
53<a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
54<a name="l00075"></a>00075 <span class="preprocessor"></span>
55<a name="l00076"></a>00076 <span class="comment">/* vim: set et sw=2 ts=2: */</span>
56</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
57<a href="http://www.doxygen.org/index.html">
58<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
59</body>
60</html>
diff --git a/ue3/doxygen/doxygen.css b/ue3/doxygen/doxygen.css
new file mode 100644
index 0000000..c7db1a8
--- /dev/null
+++ b/ue3/doxygen/doxygen.css
@@ -0,0 +1,358 @@
1BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
2 font-family: Geneva, Arial, Helvetica, sans-serif;
3}
4BODY,TD {
5 font-size: 90%;
6}
7H1 {
8 text-align: center;
9 font-size: 160%;
10}
11H2 {
12 font-size: 120%;
13}
14H3 {
15 font-size: 100%;
16}
17CAPTION { font-weight: bold }
18DIV.qindex {
19 width: 100%;
20 background-color: #e8eef2;
21 border: 1px solid #84b0c7;
22 text-align: center;
23 margin: 2px;
24 padding: 2px;
25 line-height: 140%;
26}
27DIV.nav {
28 width: 100%;
29 background-color: #e8eef2;
30 border: 1px solid #84b0c7;
31 text-align: center;
32 margin: 2px;
33 padding: 2px;
34 line-height: 140%;
35}
36DIV.navtab {
37 background-color: #e8eef2;
38 border: 1px solid #84b0c7;
39 text-align: center;
40 margin: 2px;
41 margin-right: 15px;
42 padding: 2px;
43}
44TD.navtab {
45 font-size: 70%;
46}
47A.qindex {
48 text-decoration: none;
49 font-weight: bold;
50 color: #1A419D;
51}
52A.qindex:visited {
53 text-decoration: none;
54 font-weight: bold;
55 color: #1A419D
56}
57A.qindex:hover {
58 text-decoration: none;
59 background-color: #ddddff;
60}
61A.qindexHL {
62 text-decoration: none;
63 font-weight: bold;
64 background-color: #6666cc;
65 color: #ffffff;
66 border: 1px double #9295C2;
67}
68A.qindexHL:hover {
69 text-decoration: none;
70 background-color: #6666cc;
71 color: #ffffff;
72}
73A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
74A.el { text-decoration: none; font-weight: bold }
75A.elRef { font-weight: bold }
76A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
77A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
78A.codeRef:link { font-weight: normal; color: #0000FF}
79A.codeRef:visited { font-weight: normal; color: #0000FF}
80A:hover { text-decoration: none; background-color: #f2f2ff }
81DL.el { margin-left: -1cm }
82.fragment {
83 font-family: monospace, fixed;
84 font-size: 95%;
85}
86PRE.fragment {
87 border: 1px solid #CCCCCC;
88 background-color: #f5f5f5;
89 margin-top: 4px;
90 margin-bottom: 4px;
91 margin-left: 2px;
92 margin-right: 8px;
93 padding-left: 6px;
94 padding-right: 6px;
95 padding-top: 4px;
96 padding-bottom: 4px;
97}
98DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
99
100DIV.groupHeader {
101 margin-left: 16px;
102 margin-top: 12px;
103 margin-bottom: 6px;
104 font-weight: bold;
105}
106DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
107BODY {
108 background: white;
109 color: black;
110 margin-right: 20px;
111 margin-left: 20px;
112}
113TD.indexkey {
114 background-color: #e8eef2;
115 font-weight: bold;
116 padding-right : 10px;
117 padding-top : 2px;
118 padding-left : 10px;
119 padding-bottom : 2px;
120 margin-left : 0px;
121 margin-right : 0px;
122 margin-top : 2px;
123 margin-bottom : 2px;
124 border: 1px solid #CCCCCC;
125}
126TD.indexvalue {
127 background-color: #e8eef2;
128 font-style: italic;
129 padding-right : 10px;
130 padding-top : 2px;
131 padding-left : 10px;
132 padding-bottom : 2px;
133 margin-left : 0px;
134 margin-right : 0px;
135 margin-top : 2px;
136 margin-bottom : 2px;
137 border: 1px solid #CCCCCC;
138}
139TR.memlist {
140 background-color: #f0f0f0;
141}
142P.formulaDsp { text-align: center; }
143IMG.formulaDsp { }
144IMG.formulaInl { vertical-align: middle; }
145SPAN.keyword { color: #008000 }
146SPAN.keywordtype { color: #604020 }
147SPAN.keywordflow { color: #e08000 }
148SPAN.comment { color: #800000 }
149SPAN.preprocessor { color: #806020 }
150SPAN.stringliteral { color: #002080 }
151SPAN.charliteral { color: #008080 }
152.mdescLeft {
153 padding: 0px 8px 4px 8px;
154 font-size: 80%;
155 font-style: italic;
156 background-color: #FAFAFA;
157 border-top: 1px none #E0E0E0;
158 border-right: 1px none #E0E0E0;
159 border-bottom: 1px none #E0E0E0;
160 border-left: 1px none #E0E0E0;
161 margin: 0px;
162}
163.mdescRight {
164 padding: 0px 8px 4px 8px;
165 font-size: 80%;
166 font-style: italic;
167 background-color: #FAFAFA;
168 border-top: 1px none #E0E0E0;
169 border-right: 1px none #E0E0E0;
170 border-bottom: 1px none #E0E0E0;
171 border-left: 1px none #E0E0E0;
172 margin: 0px;
173}
174.memItemLeft {
175 padding: 1px 0px 0px 8px;
176 margin: 4px;
177 border-top-width: 1px;
178 border-right-width: 1px;
179 border-bottom-width: 1px;
180 border-left-width: 1px;
181 border-top-color: #E0E0E0;
182 border-right-color: #E0E0E0;
183 border-bottom-color: #E0E0E0;
184 border-left-color: #E0E0E0;
185 border-top-style: solid;
186 border-right-style: none;
187 border-bottom-style: none;
188 border-left-style: none;
189 background-color: #FAFAFA;
190 font-size: 80%;
191}
192.memItemRight {
193 padding: 1px 8px 0px 8px;
194 margin: 4px;
195 border-top-width: 1px;
196 border-right-width: 1px;
197 border-bottom-width: 1px;
198 border-left-width: 1px;
199 border-top-color: #E0E0E0;
200 border-right-color: #E0E0E0;
201 border-bottom-color: #E0E0E0;
202 border-left-color: #E0E0E0;
203 border-top-style: solid;
204 border-right-style: none;
205 border-bottom-style: none;
206 border-left-style: none;
207 background-color: #FAFAFA;
208 font-size: 80%;
209}
210.memTemplItemLeft {
211 padding: 1px 0px 0px 8px;
212 margin: 4px;
213 border-top-width: 1px;
214 border-right-width: 1px;
215 border-bottom-width: 1px;
216 border-left-width: 1px;
217 border-top-color: #E0E0E0;
218 border-right-color: #E0E0E0;
219 border-bottom-color: #E0E0E0;
220 border-left-color: #E0E0E0;
221 border-top-style: none;
222 border-right-style: none;
223 border-bottom-style: none;
224 border-left-style: none;
225 background-color: #FAFAFA;
226 font-size: 80%;
227}
228.memTemplItemRight {
229 padding: 1px 8px 0px 8px;
230 margin: 4px;
231 border-top-width: 1px;
232 border-right-width: 1px;
233 border-bottom-width: 1px;
234 border-left-width: 1px;
235 border-top-color: #E0E0E0;
236 border-right-color: #E0E0E0;
237 border-bottom-color: #E0E0E0;
238 border-left-color: #E0E0E0;
239 border-top-style: none;
240 border-right-style: none;
241 border-bottom-style: none;
242 border-left-style: none;
243 background-color: #FAFAFA;
244 font-size: 80%;
245}
246.memTemplParams {
247 padding: 1px 0px 0px 8px;
248 margin: 4px;
249 border-top-width: 1px;
250 border-right-width: 1px;
251 border-bottom-width: 1px;
252 border-left-width: 1px;
253 border-top-color: #E0E0E0;
254 border-right-color: #E0E0E0;
255 border-bottom-color: #E0E0E0;
256 border-left-color: #E0E0E0;
257 border-top-style: solid;
258 border-right-style: none;
259 border-bottom-style: none;
260 border-left-style: none;
261 color: #606060;
262 background-color: #FAFAFA;
263 font-size: 80%;
264}
265.search { color: #003399;
266 font-weight: bold;
267}
268FORM.search {
269 margin-bottom: 0px;
270 margin-top: 0px;
271}
272INPUT.search { font-size: 75%;
273 color: #000080;
274 font-weight: normal;
275 background-color: #e8eef2;
276}
277TD.tiny { font-size: 75%;
278}
279a {
280 color: #1A41A8;
281}
282a:visited {
283 color: #2A3798;
284}
285.dirtab { padding: 4px;
286 border-collapse: collapse;
287 border: 1px solid #84b0c7;
288}
289TH.dirtab { background: #e8eef2;
290 font-weight: bold;
291}
292HR { height: 1px;
293 border: none;
294 border-top: 1px solid black;
295}
296
297/* Style for detailed member documentation */
298.memtemplate {
299 font-size: 80%;
300 color: #606060;
301 font-weight: normal;
302}
303.memnav {
304 background-color: #e8eef2;
305 border: 1px solid #84b0c7;
306 text-align: center;
307 margin: 2px;
308 margin-right: 15px;
309 padding: 2px;
310}
311.memitem {
312 padding: 4px;
313 background-color: #eef3f5;
314 border-width: 1px;
315 border-style: solid;
316 border-color: #dedeee;
317 -moz-border-radius: 8px 8px 8px 8px;
318}
319.memname {
320 white-space: nowrap;
321 font-weight: bold;
322}
323.memdoc{
324 padding-left: 10px;
325}
326.memproto {
327 background-color: #d5e1e8;
328 width: 100%;
329 border-width: 1px;
330 border-style: solid;
331 border-color: #84b0c7;
332 font-weight: bold;
333 -moz-border-radius: 8px 8px 8px 8px;
334}
335.paramkey {
336 text-align: right;
337}
338.paramtype {
339 white-space: nowrap;
340}
341.paramname {
342 color: #602020;
343 font-style: italic;
344 white-space: nowrap;
345}
346/* End Styling for detailed member documentation */
347
348/* for the tree view */
349.ftvtree {
350 font-family: sans-serif;
351 margin:0.5em;
352}
353.directory { font-size: 9pt; font-weight: bold; }
354.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
355.directory > h3 { margin-top: 0; }
356.directory p { margin: 0px; white-space: nowrap; }
357.directory div { display: none; margin: 0px; }
358.directory img { vertical-align: -30%; }
diff --git a/ue3/doxygen/doxygen.png b/ue3/doxygen/doxygen.png
new file mode 100644
index 0000000..f0a274b
--- /dev/null
+++ b/ue3/doxygen/doxygen.png
Binary files differ
diff --git a/ue3/doxygen/files.html b/ue3/doxygen/files.html
new file mode 100644
index 0000000..7921007
--- /dev/null
+++ b/ue3/doxygen/files.html
@@ -0,0 +1,30 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: File Index</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu File List</h1>Here is a list of all documented files with brief descriptions:<table>
17 <tr><td class="indexkey">mycpu/<b>ccpu.h</b> <a href="ccpu_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
18 <tr><td class="indexkey">mycpu/<b>cdat.h</b> <a href="cdat_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
19 <tr><td class="indexkey">mycpu/<b>cdisplay.h</b> <a href="cdisplay_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
20 <tr><td class="indexkey">mycpu/<b>cinstruction.h</b> <a href="cinstruction_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
21 <tr><td class="indexkey">mycpu/<b>cmem.h</b> <a href="cmem_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
22 <tr><td class="indexkey">mycpu/<b>cprogram.h</b> <a href="cprogram_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
23 <tr><td class="indexkey">mycpu/<b>displays.h</b> <a href="displays_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
24 <tr><td class="indexkey">mycpu/<b>instructions.h</b> <a href="instructions_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
25</table>
26<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
27<a href="http://www.doxygen.org/index.html">
28<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
29</body>
30</html>
diff --git a/ue3/doxygen/functions.html b/ue3/doxygen/functions.html
new file mode 100644
index 0000000..2ec6814
--- /dev/null
+++ b/ue3/doxygen/functions.html
@@ -0,0 +1,259 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Class Members</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<div class="tabs">
24 <ul>
25 <li class="current"><a href="functions.html"><span>All</span></a></li>
26 <li><a href="functions_func.html"><span>Functions</span></a></li>
27 <li><a href="functions_vars.html"><span>Variables</span></a></li>
28 <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
29 </ul>
30</div>
31<div class="tabs">
32 <ul>
33 <li><a href="#index_c"><span>c</span></a></li>
34 <li><a href="#index_d"><span>d</span></a></li>
35 <li><a href="#index_e"><span>e</span></a></li>
36 <li><a href="#index_f"><span>f</span></a></li>
37 <li><a href="#index_g"><span>g</span></a></li>
38 <li><a href="#index_i"><span>i</span></a></li>
39 <li><a href="#index_m"><span>m</span></a></li>
40 <li><a href="#index_o"><span>o</span></a></li>
41 <li><a href="#index_p"><span>p</span></a></li>
42 <li><a href="#index_r"><span>r</span></a></li>
43 <li><a href="#index_s"><span>s</span></a></li>
44 <li><a href="#index_~"><span>~</span></a></li>
45 </ul>
46</div>
47
48<p>
49Here is a list of all documented class members with links to the class documentation for each member:
50<p>
51<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
52<li>CCPU()
53: <a class="el" href="classCCPU.html#12b0f403ddbfae0ff52cbf079b96395b">CCPU</a>
54<li>CDatT()
55: <a class="el" href="classCDatT.html#afb8aa2eb6000ad2f54f31d6d5df57a4">CDatT&lt; T &gt;</a>
56<li>CDisplayT()
57: <a class="el" href="classCDisplayT.html#d65d27ce8533285525788f3cc534ff14">CDisplayT&lt; T &gt;</a>
58<li>checkRegister()
59: <a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">CInstruction</a>
60<li>CInstruction()
61: <a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>
62<li>compile()
63: <a class="el" href="classCInstructionTest.html#b09f0e02ab71b01af6eda0152d1fc975">CInstructionTest</a>
64, <a class="el" href="classCInstructionStore.html#9848bf36bd3ec75ae481d8ef1f36c6ee">CInstructionStore</a>
65, <a class="el" href="classCInstructionJumpZ.html#e4c05192b829d2bcc1e838de195ef3d9">CInstructionJumpZ</a>
66, <a class="el" href="classCInstructionDiv.html#349324231c5516886d99caf07ecb8c0c">CInstructionDiv</a>
67, <a class="el" href="classCInstructionMul.html#188024d90dd19fcea0687d32e98c67a7">CInstructionMul</a>
68, <a class="el" href="classCInstructionSub.html#9fe6d8f0f805313c98f8806a4739cbe9">CInstructionSub</a>
69, <a class="el" href="classCInstructionAdd.html#1da9f4b4016d27f2866add0b91e3b0fc">CInstructionAdd</a>
70, <a class="el" href="classCInstructionDec.html#84347e9b3a373bafc5c1ae79a557f4c3">CInstructionDec</a>
71, <a class="el" href="classCInstructionInc.html#ae36e952ec66b1c5cc2fb7e7c80064cc">CInstructionInc</a>
72, <a class="el" href="classCProgram.html#e75e8a7709afcebc7f1537db247f9671">CProgram</a>
73, <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>
74, <a class="el" href="classCInstructionJumpA.html#f772a57214b192263594d2ff46f03a1e">CInstructionJumpA</a>
75, <a class="el" href="classCInstructionJumpS.html#671d749a6e93f26851879c4ceac09f4c">CInstructionJumpS</a>
76, <a class="el" href="classCInstructionWrite.html#23f5bb8e4b8a74f7a8703d593323b991">CInstructionWrite</a>
77, <a class="el" href="classCInstructionLoad.html#4aa70fe481286e0bcc27f7a9ce896d3d">CInstructionLoad</a>
78, <a class="el" href="classCInstructionLabel.html#321fd849ae169d900964431b4100321f">CInstructionLabel</a>
79<li>CProgram()
80: <a class="el" href="classCProgram.html#74d3ca01d5e8b892f37684254ae546ed">CProgram</a>
81</ul>
82<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
83<li>display()
84: <a class="el" href="classCDisplayT.html#5a15f96d3d76bdbb2b172c52036859c2">CDisplayT&lt; T &gt;</a>
85, <a class="el" href="classCDisplayWDEZ.html#91798e80f37ec86e3aa7d0f899e3a8dc">CDisplayWDEZ</a>
86, <a class="el" href="classCDisplayWHEX.html#6adaa6532cd684060029e31457d83752">CDisplayWHEX</a>
87<li>dump()
88: <a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">CInstruction</a>
89</ul>
90<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
91<li>execute()
92: <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>
93, <a class="el" href="classCInstructionWrite.html#1852e50c21b758a4db205a6cd20e208d">CInstructionWrite</a>
94, <a class="el" href="classCInstructionJumpS.html#8c2e8e077463e64ca64204bb6ed20f71">CInstructionJumpS</a>
95, <a class="el" href="classCInstructionJumpZ.html#92f15deda156ebd20e8af47589753783">CInstructionJumpZ</a>
96, <a class="el" href="classCInstructionJumpA.html#76daeedb9c7cb3be0173580be9390887">CInstructionJumpA</a>
97, <a class="el" href="classCInstructionLabel.html#665f2fc395ffed3bd968659f67868f53">CInstructionLabel</a>
98, <a class="el" href="classCInstructionTest.html#955cf58c41c9e305059baea28b65cf3a">CInstructionTest</a>
99, <a class="el" href="classCInstructionStore.html#fd5ee6692540613ee8cc9a2bf8ff920a">CInstructionStore</a>
100, <a class="el" href="classCInstructionLoad.html#fdda1d554401f9bfd32a6300f5ad2bb6">CInstructionLoad</a>
101, <a class="el" href="classCInstructionDiv.html#7fee4e02bc6904c9d6039aa467aed1f4">CInstructionDiv</a>
102, <a class="el" href="classCInstructionMul.html#0675f51cbfb5d0d76e605f64b0b2555c">CInstructionMul</a>
103, <a class="el" href="classCInstructionSub.html#03e098595198d4cc2f45d906e45e7f28">CInstructionSub</a>
104, <a class="el" href="classCInstructionAdd.html#3c6844fd425de436ba3e7fbc98fd69e8">CInstructionAdd</a>
105, <a class="el" href="classCInstructionDec.html#b0a51da3b41aaa4e3e51baaa4151ebca">CInstructionDec</a>
106, <a class="el" href="classCInstructionInc.html#2830b4c1aa89410e309821119ecf4d6f">CInstructionInc</a>
107</ul>
108<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
109<li>factory()
110: <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>
111, <a class="el" href="classCInstructionInc.html#d55c35cbbd5c88fd29a392051e79f5f1">CInstructionInc</a>
112, <a class="el" href="classCInstructionWrite.html#a33ddc8fb13dfaa253704eb0952f3cea">CInstructionWrite</a>
113, <a class="el" href="classCInstructionJumpS.html#4b25703a62dafb568700dcad217f7ba6">CInstructionJumpS</a>
114, <a class="el" href="classCInstructionJumpZ.html#e0750f1ce4a5746be3317024f4ef92eb">CInstructionJumpZ</a>
115, <a class="el" href="classCInstructionJumpA.html#d7679ea0d70ab9725f84dcce76adc057">CInstructionJumpA</a>
116, <a class="el" href="classCInstructionLabel.html#66ba5bd6facecd45f3616fc94eb2845f">CInstructionLabel</a>
117, <a class="el" href="classCInstructionTest.html#9e4e1ac29b5173a70dc1172bbb096671">CInstructionTest</a>
118, <a class="el" href="classCInstructionStore.html#cab0d4c9bf2cc0d6b1b450ef9aeebcc0">CInstructionStore</a>
119, <a class="el" href="classCInstructionAdd.html#6fa9bae98f84f5ae34946641fb03ff32">CInstructionAdd</a>
120, <a class="el" href="classCInstructionDiv.html#3445767e66ab734ec88b6084a10c4446">CInstructionDiv</a>
121, <a class="el" href="classCInstructionMul.html#1e8f23073a29a0d50fa9d651b986e821">CInstructionMul</a>
122, <a class="el" href="classCInstructionSub.html#71c77a5113f96ac25e79bc4d28072541">CInstructionSub</a>
123, <a class="el" href="classCInstructionLoad.html#35c051515ccd6a12dbb39ab4b2e33ded">CInstructionLoad</a>
124, <a class="el" href="classCInstructionDec.html#5aa3bcd55f05765e25758f45f4f55059">CInstructionDec</a>
125<li>findLabel()
126: <a class="el" href="classCProgram.html#4c29c5c7932174242c50fd9d1c5bc1ec">CProgram</a>
127</ul>
128<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
129<li>getDisplays()
130: <a class="el" href="classCCPU.html#aab308415ce3083eaa66b9aa1dcbb0c6">CCPU</a>
131<li>getFlagSign()
132: <a class="el" href="classCCPU.html#c3d7d2bf5f93aa2d7b6f5959b8448ea2">CCPU</a>
133<li>getFlagZero()
134: <a class="el" href="classCCPU.html#9398f58c5a715653c3502040029501a1">CCPU</a>
135<li>getLabels()
136: <a class="el" href="classCProgram.html#8d5dc184872d4616d327c87ffa665804">CProgram</a>
137<li>getMemory()
138: <a class="el" href="classCCPU.html#47e3302a8d9582b29a4d722735d8aa60">CCPU</a>
139<li>getName()
140: <a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">CInstruction</a>
141, <a class="el" href="classCDisplayT.html#32897b9abaec6e9a0e73ae746ab5cec0">CDisplayT&lt; T &gt;</a>
142<li>getProgram()
143: <a class="el" href="classCCPU.html#f7c34c0ba7230ecc980a5ff7730cdbae">CCPU</a>
144<li>getRegisterCount()
145: <a class="el" href="classCCPU.html#b25ee10ea09dfe12d9e77e5eb2126d32">CCPU</a>
146<li>getRegisters()
147: <a class="el" href="classCCPU.html#efe3e22919627e5daf525d11b13d5c44">CCPU</a>
148<li>getValue()
149: <a class="el" href="classCDatT.html#8c226fb0b0974a0cbb7897d94f75e4e0">CDatT&lt; T &gt;</a>
150</ul>
151<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
152<li>initialize()
153: <a class="el" href="classCVectorMem.html#d45b088f04cf2af4c6c91bd670c5f9e6">CVectorMem&lt; T, Allocator &gt;</a>
154</ul>
155<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
156<li>m_addr
157: <a class="el" href="classCInstructionJumpA.html#ee10410094e2b3781da3cb53c390fb9e">CInstructionJumpA</a>
158, <a class="el" href="classCInstructionJumpZ.html#4f0147cd62010e0d178c9259737e8c10">CInstructionJumpZ</a>
159, <a class="el" href="classCInstructionJumpS.html#f610b22fcf027db2ad2152c52c006eda">CInstructionJumpS</a>
160<li>m_dev
161: <a class="el" href="classCInstructionWrite.html#a8ac6c36d3fbbfedfa2311f15c0608cc">CInstructionWrite</a>
162<li>m_name
163: <a class="el" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">CDisplayT&lt; T &gt;</a>
164, <a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">CInstruction</a>
165<li>m_regidx1
166: <a class="el" href="classCInstructionDec.html#4ea09ae25025e93c2790d5dc1536f41c">CInstructionDec</a>
167, <a class="el" href="classCInstructionWrite.html#7af118a6f35320bbbee55051188311d6">CInstructionWrite</a>
168, <a class="el" href="classCInstructionAdd.html#2808878fbfbee48f1c300bdd976446f4">CInstructionAdd</a>
169, <a class="el" href="classCInstructionSub.html#f9884524cd60c34f3d9a5142e1e586fb">CInstructionSub</a>
170, <a class="el" href="classCInstructionMul.html#c5c3b5b125973a0396c3ad7e0233b79f">CInstructionMul</a>
171, <a class="el" href="classCInstructionDiv.html#356508c5c90a345bdd0055385227852f">CInstructionDiv</a>
172, <a class="el" href="classCInstructionTest.html#26744f0f306f4a181936fc6e389eb9e3">CInstructionTest</a>
173, <a class="el" href="classCInstructionStore.html#5e57d0d27d70f13a590355f5c1782cc9">CInstructionStore</a>
174, <a class="el" href="classCInstructionLoad.html#91139a066176d4be83258eba0b412cb6">CInstructionLoad</a>
175, <a class="el" href="classCInstructionInc.html#b910df5b37f4d1352736913ee0cb7fb0">CInstructionInc</a>
176<li>m_regidx2
177: <a class="el" href="classCInstructionMul.html#eaaaff76fe29741fce14b322d4da8a54">CInstructionMul</a>
178, <a class="el" href="classCInstructionDiv.html#5a9c4be1386df1fa866927336abe3054">CInstructionDiv</a>
179, <a class="el" href="classCInstructionAdd.html#98e9005e15d5eb69ce561a91348a3a91">CInstructionAdd</a>
180, <a class="el" href="classCInstructionLoad.html#dbb1c5a56e063ce77d3b8d26355e2a49">CInstructionLoad</a>
181, <a class="el" href="classCInstructionSub.html#67030fafc6429936130bbe26874c337c">CInstructionSub</a>
182, <a class="el" href="classCInstructionStore.html#d960c6b85e7022704b4d7d059e1766d1">CInstructionStore</a>
183<li>m_regidx3
184: <a class="el" href="classCInstructionSub.html#a059bfa11944c55216619bb4328ed44e">CInstructionSub</a>
185, <a class="el" href="classCInstructionAdd.html#1c5979587fea23262a9bc593b9dc61a3">CInstructionAdd</a>
186, <a class="el" href="classCInstructionMul.html#171d8573f80224249ac14e4c8fec0c7b">CInstructionMul</a>
187, <a class="el" href="classCInstructionDiv.html#3e7033bb26ef68b051b0da8a8279df85">CInstructionDiv</a>
188</ul>
189<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
190<li>operator &amp;=()
191: <a class="el" href="classCDatT.html#3ec7b2fac8d93e51cd87acda04d7f41e">CDatT&lt; T &gt;</a>
192<li>operator *=()
193: <a class="el" href="classCDatT.html#707446768fff0c8e9a56c4af874d0224">CDatT&lt; T &gt;</a>
194<li>operator T()
195: <a class="el" href="classCDatT.html#5915d4f7de6dceea7d0d7253ce8ff5c9">CDatT&lt; T &gt;</a>
196<li>operator%=()
197: <a class="el" href="classCDatT.html#403d947a670fcc25dc0ae4e00293cc33">CDatT&lt; T &gt;</a>
198<li>operator()()
199: <a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">CInstruction</a>
200<li>operator++()
201: <a class="el" href="classCDatT.html#9a17a5e35049ad6a150ec800ddb81e64">CDatT&lt; T &gt;</a>
202<li>operator+=()
203: <a class="el" href="classCDatT.html#f4f1e37bd94b17229dd0e181fcf41860">CDatT&lt; T &gt;</a>
204<li>operator--()
205: <a class="el" href="classCDatT.html#ec2be360ce61195c92db1ba4d2db0d8b">CDatT&lt; T &gt;</a>
206<li>operator-=()
207: <a class="el" href="classCDatT.html#24cf91d1ac4e0277547ec158ed35544a">CDatT&lt; T &gt;</a>
208<li>operator/=()
209: <a class="el" href="classCDatT.html#c68e6cd45ae94ef7485650e72f07c49d">CDatT&lt; T &gt;</a>
210<li>operator&lt;()
211: <a class="el" href="classCDatT.html#acd2ef7a53a0c4b128485147171d0cbd">CDatT&lt; T &gt;</a>
212<li>operator&lt;&lt;
213: <a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">CInstruction</a>
214, <a class="el" href="classCDatT.html#81465346cb4f31cf76336d46c512d0f6">CDatT&lt; T &gt;</a>
215<li>operator==()
216: <a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">CInstruction</a>
217, <a class="el" href="classCDatT.html#884afb7b0c4e972c25f12f6eff15177d">CDatT&lt; T &gt;</a>
218<li>operator&gt;&gt;
219: <a class="el" href="classCDatT.html#16f0666a0b7c3383eb965daf48134fab">CDatT&lt; T &gt;</a>
220<li>operator^=()
221: <a class="el" href="classCDatT.html#03cf22edd6b2489e63be6cc846de789f">CDatT&lt; T &gt;</a>
222<li>operator|=()
223: <a class="el" href="classCDatT.html#f98140b24016e58307bf92b556157a13">CDatT&lt; T &gt;</a>
224</ul>
225<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
226<li>parseRegister()
227: <a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">CInstruction</a>
228</ul>
229<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
230<li>run()
231: <a class="el" href="classCCPU.html#045df5c772702bdc1454fb90d512fb68">CCPU</a>
232</ul>
233<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
234<li>setFlagSign()
235: <a class="el" href="classCCPU.html#d8226c190477e2fbce0ddf7d814a272e">CCPU</a>
236<li>setFlagZero()
237: <a class="el" href="classCCPU.html#33c8a01cbafddb40cf9283109b3a0b08">CCPU</a>
238<li>setMemory()
239: <a class="el" href="classCCPU.html#bb2644a658cbfbcdd7c579a2840cee67">CCPU</a>
240<li>setProgram()
241: <a class="el" href="classCCPU.html#3790f6567091892f8867329424d03f71">CCPU</a>
242</ul>
243<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
244<li>~CCPU()
245: <a class="el" href="classCCPU.html#7523a3b0b832774c3df57bd019273a68">CCPU</a>
246<li>~CDatT()
247: <a class="el" href="classCDatT.html#8ddaa1aaef85fea9e7c3613ccdc5a891">CDatT&lt; T &gt;</a>
248<li>~CDisplayT()
249: <a class="el" href="classCDisplayT.html#edeeab4320b2c3a5b482d216e73e5999">CDisplayT&lt; T &gt;</a>
250<li>~CInstruction()
251: <a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">CInstruction</a>
252<li>~CProgram()
253: <a class="el" href="classCProgram.html#7dfeb30706e7af06114fdf18262d7926">CProgram</a>
254</ul>
255<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
256<a href="http://www.doxygen.org/index.html">
257<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
258</body>
259</html>
diff --git a/ue3/doxygen/functions_func.html b/ue3/doxygen/functions_func.html
new file mode 100644
index 0000000..bb8ca9a
--- /dev/null
+++ b/ue3/doxygen/functions_func.html
@@ -0,0 +1,219 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Class Members - Functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<div class="tabs">
24 <ul>
25 <li><a href="functions.html"><span>All</span></a></li>
26 <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
27 <li><a href="functions_vars.html"><span>Variables</span></a></li>
28 <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
29 </ul>
30</div>
31<div class="tabs">
32 <ul>
33 <li><a href="#index_c"><span>c</span></a></li>
34 <li><a href="#index_d"><span>d</span></a></li>
35 <li><a href="#index_e"><span>e</span></a></li>
36 <li><a href="#index_f"><span>f</span></a></li>
37 <li><a href="#index_g"><span>g</span></a></li>
38 <li><a href="#index_i"><span>i</span></a></li>
39 <li><a href="#index_o"><span>o</span></a></li>
40 <li><a href="#index_p"><span>p</span></a></li>
41 <li><a href="#index_r"><span>r</span></a></li>
42 <li><a href="#index_s"><span>s</span></a></li>
43 <li><a href="#index_~"><span>~</span></a></li>
44 </ul>
45</div>
46
47<p>
48&nbsp;
49<p>
50<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
51<li>CCPU()
52: <a class="el" href="classCCPU.html#12b0f403ddbfae0ff52cbf079b96395b">CCPU</a>
53<li>CDatT()
54: <a class="el" href="classCDatT.html#afb8aa2eb6000ad2f54f31d6d5df57a4">CDatT&lt; T &gt;</a>
55<li>CDisplayT()
56: <a class="el" href="classCDisplayT.html#d65d27ce8533285525788f3cc534ff14">CDisplayT&lt; T &gt;</a>
57<li>checkRegister()
58: <a class="el" href="classCInstruction.html#8e938360a34f1cd3bf799f21e2ce6f6c">CInstruction</a>
59<li>CInstruction()
60: <a class="el" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78">CInstruction</a>
61<li>compile()
62: <a class="el" href="classCInstructionTest.html#b09f0e02ab71b01af6eda0152d1fc975">CInstructionTest</a>
63, <a class="el" href="classCInstructionStore.html#9848bf36bd3ec75ae481d8ef1f36c6ee">CInstructionStore</a>
64, <a class="el" href="classCInstructionJumpZ.html#e4c05192b829d2bcc1e838de195ef3d9">CInstructionJumpZ</a>
65, <a class="el" href="classCInstructionDiv.html#349324231c5516886d99caf07ecb8c0c">CInstructionDiv</a>
66, <a class="el" href="classCInstructionMul.html#188024d90dd19fcea0687d32e98c67a7">CInstructionMul</a>
67, <a class="el" href="classCInstructionSub.html#9fe6d8f0f805313c98f8806a4739cbe9">CInstructionSub</a>
68, <a class="el" href="classCInstructionAdd.html#1da9f4b4016d27f2866add0b91e3b0fc">CInstructionAdd</a>
69, <a class="el" href="classCInstructionDec.html#84347e9b3a373bafc5c1ae79a557f4c3">CInstructionDec</a>
70, <a class="el" href="classCInstructionInc.html#ae36e952ec66b1c5cc2fb7e7c80064cc">CInstructionInc</a>
71, <a class="el" href="classCProgram.html#e75e8a7709afcebc7f1537db247f9671">CProgram</a>
72, <a class="el" href="classCInstruction.html#15e2ce88b04fcf208ba43c43f7dd57aa">CInstruction</a>
73, <a class="el" href="classCInstructionJumpA.html#f772a57214b192263594d2ff46f03a1e">CInstructionJumpA</a>
74, <a class="el" href="classCInstructionJumpS.html#671d749a6e93f26851879c4ceac09f4c">CInstructionJumpS</a>
75, <a class="el" href="classCInstructionWrite.html#23f5bb8e4b8a74f7a8703d593323b991">CInstructionWrite</a>
76, <a class="el" href="classCInstructionLoad.html#4aa70fe481286e0bcc27f7a9ce896d3d">CInstructionLoad</a>
77, <a class="el" href="classCInstructionLabel.html#321fd849ae169d900964431b4100321f">CInstructionLabel</a>
78<li>CProgram()
79: <a class="el" href="classCProgram.html#74d3ca01d5e8b892f37684254ae546ed">CProgram</a>
80</ul>
81<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
82<li>display()
83: <a class="el" href="classCDisplayT.html#5a15f96d3d76bdbb2b172c52036859c2">CDisplayT&lt; T &gt;</a>
84, <a class="el" href="classCDisplayWDEZ.html#91798e80f37ec86e3aa7d0f899e3a8dc">CDisplayWDEZ</a>
85, <a class="el" href="classCDisplayWHEX.html#6adaa6532cd684060029e31457d83752">CDisplayWHEX</a>
86<li>dump()
87: <a class="el" href="classCInstruction.html#040a2394e2161a65f37ef31d16bb6a35">CInstruction</a>
88</ul>
89<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
90<li>execute()
91: <a class="el" href="classCInstruction.html#127fd09a772e9f584550cd342af770d1">CInstruction</a>
92, <a class="el" href="classCInstructionWrite.html#1852e50c21b758a4db205a6cd20e208d">CInstructionWrite</a>
93, <a class="el" href="classCInstructionJumpS.html#8c2e8e077463e64ca64204bb6ed20f71">CInstructionJumpS</a>
94, <a class="el" href="classCInstructionJumpZ.html#92f15deda156ebd20e8af47589753783">CInstructionJumpZ</a>
95, <a class="el" href="classCInstructionJumpA.html#76daeedb9c7cb3be0173580be9390887">CInstructionJumpA</a>
96, <a class="el" href="classCInstructionLabel.html#665f2fc395ffed3bd968659f67868f53">CInstructionLabel</a>
97, <a class="el" href="classCInstructionTest.html#955cf58c41c9e305059baea28b65cf3a">CInstructionTest</a>
98, <a class="el" href="classCInstructionStore.html#fd5ee6692540613ee8cc9a2bf8ff920a">CInstructionStore</a>
99, <a class="el" href="classCInstructionLoad.html#fdda1d554401f9bfd32a6300f5ad2bb6">CInstructionLoad</a>
100, <a class="el" href="classCInstructionDiv.html#7fee4e02bc6904c9d6039aa467aed1f4">CInstructionDiv</a>
101, <a class="el" href="classCInstructionMul.html#0675f51cbfb5d0d76e605f64b0b2555c">CInstructionMul</a>
102, <a class="el" href="classCInstructionSub.html#03e098595198d4cc2f45d906e45e7f28">CInstructionSub</a>
103, <a class="el" href="classCInstructionAdd.html#3c6844fd425de436ba3e7fbc98fd69e8">CInstructionAdd</a>
104, <a class="el" href="classCInstructionDec.html#b0a51da3b41aaa4e3e51baaa4151ebca">CInstructionDec</a>
105, <a class="el" href="classCInstructionInc.html#2830b4c1aa89410e309821119ecf4d6f">CInstructionInc</a>
106</ul>
107<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
108<li>factory()
109: <a class="el" href="classCInstruction.html#fae8dc231b375db91f874df0d085b7dc">CInstruction</a>
110, <a class="el" href="classCInstructionInc.html#d55c35cbbd5c88fd29a392051e79f5f1">CInstructionInc</a>
111, <a class="el" href="classCInstructionWrite.html#a33ddc8fb13dfaa253704eb0952f3cea">CInstructionWrite</a>
112, <a class="el" href="classCInstructionJumpS.html#4b25703a62dafb568700dcad217f7ba6">CInstructionJumpS</a>
113, <a class="el" href="classCInstructionJumpZ.html#e0750f1ce4a5746be3317024f4ef92eb">CInstructionJumpZ</a>
114, <a class="el" href="classCInstructionJumpA.html#d7679ea0d70ab9725f84dcce76adc057">CInstructionJumpA</a>
115, <a class="el" href="classCInstructionLabel.html#66ba5bd6facecd45f3616fc94eb2845f">CInstructionLabel</a>
116, <a class="el" href="classCInstructionTest.html#9e4e1ac29b5173a70dc1172bbb096671">CInstructionTest</a>
117, <a class="el" href="classCInstructionStore.html#cab0d4c9bf2cc0d6b1b450ef9aeebcc0">CInstructionStore</a>
118, <a class="el" href="classCInstructionAdd.html#6fa9bae98f84f5ae34946641fb03ff32">CInstructionAdd</a>
119, <a class="el" href="classCInstructionDiv.html#3445767e66ab734ec88b6084a10c4446">CInstructionDiv</a>
120, <a class="el" href="classCInstructionMul.html#1e8f23073a29a0d50fa9d651b986e821">CInstructionMul</a>
121, <a class="el" href="classCInstructionSub.html#71c77a5113f96ac25e79bc4d28072541">CInstructionSub</a>
122, <a class="el" href="classCInstructionLoad.html#35c051515ccd6a12dbb39ab4b2e33ded">CInstructionLoad</a>
123, <a class="el" href="classCInstructionDec.html#5aa3bcd55f05765e25758f45f4f55059">CInstructionDec</a>
124<li>findLabel()
125: <a class="el" href="classCProgram.html#4c29c5c7932174242c50fd9d1c5bc1ec">CProgram</a>
126</ul>
127<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
128<li>getDisplays()
129: <a class="el" href="classCCPU.html#aab308415ce3083eaa66b9aa1dcbb0c6">CCPU</a>
130<li>getFlagSign()
131: <a class="el" href="classCCPU.html#c3d7d2bf5f93aa2d7b6f5959b8448ea2">CCPU</a>
132<li>getFlagZero()
133: <a class="el" href="classCCPU.html#9398f58c5a715653c3502040029501a1">CCPU</a>
134<li>getLabels()
135: <a class="el" href="classCProgram.html#8d5dc184872d4616d327c87ffa665804">CProgram</a>
136<li>getMemory()
137: <a class="el" href="classCCPU.html#47e3302a8d9582b29a4d722735d8aa60">CCPU</a>
138<li>getName()
139: <a class="el" href="classCInstruction.html#e8187580097fd2ced5a8bc6e6e09fe44">CInstruction</a>
140, <a class="el" href="classCDisplayT.html#32897b9abaec6e9a0e73ae746ab5cec0">CDisplayT&lt; T &gt;</a>
141<li>getProgram()
142: <a class="el" href="classCCPU.html#f7c34c0ba7230ecc980a5ff7730cdbae">CCPU</a>
143<li>getRegisterCount()
144: <a class="el" href="classCCPU.html#b25ee10ea09dfe12d9e77e5eb2126d32">CCPU</a>
145<li>getRegisters()
146: <a class="el" href="classCCPU.html#efe3e22919627e5daf525d11b13d5c44">CCPU</a>
147<li>getValue()
148: <a class="el" href="classCDatT.html#8c226fb0b0974a0cbb7897d94f75e4e0">CDatT&lt; T &gt;</a>
149</ul>
150<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
151<li>initialize()
152: <a class="el" href="classCVectorMem.html#d45b088f04cf2af4c6c91bd670c5f9e6">CVectorMem&lt; T, Allocator &gt;</a>
153</ul>
154<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
155<li>operator &amp;=()
156: <a class="el" href="classCDatT.html#3ec7b2fac8d93e51cd87acda04d7f41e">CDatT&lt; T &gt;</a>
157<li>operator *=()
158: <a class="el" href="classCDatT.html#707446768fff0c8e9a56c4af874d0224">CDatT&lt; T &gt;</a>
159<li>operator T()
160: <a class="el" href="classCDatT.html#5915d4f7de6dceea7d0d7253ce8ff5c9">CDatT&lt; T &gt;</a>
161<li>operator%=()
162: <a class="el" href="classCDatT.html#403d947a670fcc25dc0ae4e00293cc33">CDatT&lt; T &gt;</a>
163<li>operator()()
164: <a class="el" href="classCInstruction.html#b5b2364b0cccc6db2f5c3aaccee8aa43">CInstruction</a>
165<li>operator++()
166: <a class="el" href="classCDatT.html#9a17a5e35049ad6a150ec800ddb81e64">CDatT&lt; T &gt;</a>
167<li>operator+=()
168: <a class="el" href="classCDatT.html#f4f1e37bd94b17229dd0e181fcf41860">CDatT&lt; T &gt;</a>
169<li>operator--()
170: <a class="el" href="classCDatT.html#ec2be360ce61195c92db1ba4d2db0d8b">CDatT&lt; T &gt;</a>
171<li>operator-=()
172: <a class="el" href="classCDatT.html#24cf91d1ac4e0277547ec158ed35544a">CDatT&lt; T &gt;</a>
173<li>operator/=()
174: <a class="el" href="classCDatT.html#c68e6cd45ae94ef7485650e72f07c49d">CDatT&lt; T &gt;</a>
175<li>operator&lt;()
176: <a class="el" href="classCDatT.html#acd2ef7a53a0c4b128485147171d0cbd">CDatT&lt; T &gt;</a>
177<li>operator==()
178: <a class="el" href="classCInstruction.html#395c9bde315efbc0eefd0bbb1586950a">CInstruction</a>
179, <a class="el" href="classCDatT.html#884afb7b0c4e972c25f12f6eff15177d">CDatT&lt; T &gt;</a>
180<li>operator^=()
181: <a class="el" href="classCDatT.html#03cf22edd6b2489e63be6cc846de789f">CDatT&lt; T &gt;</a>
182<li>operator|=()
183: <a class="el" href="classCDatT.html#f98140b24016e58307bf92b556157a13">CDatT&lt; T &gt;</a>
184</ul>
185<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
186<li>parseRegister()
187: <a class="el" href="classCInstruction.html#2723f8875ff0cc4e48d840db1ae5b4a8">CInstruction</a>
188</ul>
189<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
190<li>run()
191: <a class="el" href="classCCPU.html#045df5c772702bdc1454fb90d512fb68">CCPU</a>
192</ul>
193<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
194<li>setFlagSign()
195: <a class="el" href="classCCPU.html#d8226c190477e2fbce0ddf7d814a272e">CCPU</a>
196<li>setFlagZero()
197: <a class="el" href="classCCPU.html#33c8a01cbafddb40cf9283109b3a0b08">CCPU</a>
198<li>setMemory()
199: <a class="el" href="classCCPU.html#bb2644a658cbfbcdd7c579a2840cee67">CCPU</a>
200<li>setProgram()
201: <a class="el" href="classCCPU.html#3790f6567091892f8867329424d03f71">CCPU</a>
202</ul>
203<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
204<li>~CCPU()
205: <a class="el" href="classCCPU.html#7523a3b0b832774c3df57bd019273a68">CCPU</a>
206<li>~CDatT()
207: <a class="el" href="classCDatT.html#8ddaa1aaef85fea9e7c3613ccdc5a891">CDatT&lt; T &gt;</a>
208<li>~CDisplayT()
209: <a class="el" href="classCDisplayT.html#edeeab4320b2c3a5b482d216e73e5999">CDisplayT&lt; T &gt;</a>
210<li>~CInstruction()
211: <a class="el" href="classCInstruction.html#d2ded1d8675749bc39a085a8c50a6612">CInstruction</a>
212<li>~CProgram()
213: <a class="el" href="classCProgram.html#7dfeb30706e7af06114fdf18262d7926">CProgram</a>
214</ul>
215<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
216<a href="http://www.doxygen.org/index.html">
217<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
218</body>
219</html>
diff --git a/ue3/doxygen/functions_rela.html b/ue3/doxygen/functions_rela.html
new file mode 100644
index 0000000..d7d0fde
--- /dev/null
+++ b/ue3/doxygen/functions_rela.html
@@ -0,0 +1,44 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Class Members - Related Functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<div class="tabs">
24 <ul>
25 <li><a href="functions.html"><span>All</span></a></li>
26 <li><a href="functions_func.html"><span>Functions</span></a></li>
27 <li><a href="functions_vars.html"><span>Variables</span></a></li>
28 <li class="current"><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
29 </ul>
30</div>
31&nbsp;
32<p>
33<ul>
34<li>operator&lt;&lt;
35: <a class="el" href="classCDatT.html#81465346cb4f31cf76336d46c512d0f6">CDatT&lt; T &gt;</a>
36, <a class="el" href="classCInstruction.html#7651b4c147411bca34a0393adf03507d">CInstruction</a>
37<li>operator&gt;&gt;
38: <a class="el" href="classCDatT.html#16f0666a0b7c3383eb965daf48134fab">CDatT&lt; T &gt;</a>
39</ul>
40<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
41<a href="http://www.doxygen.org/index.html">
42<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
43</body>
44</html>
diff --git a/ue3/doxygen/functions_vars.html b/ue3/doxygen/functions_vars.html
new file mode 100644
index 0000000..5b7e130
--- /dev/null
+++ b/ue3/doxygen/functions_vars.html
@@ -0,0 +1,71 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Class Members - Variables</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<div class="tabs">
24 <ul>
25 <li><a href="functions.html"><span>All</span></a></li>
26 <li><a href="functions_func.html"><span>Functions</span></a></li>
27 <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
28 <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
29 </ul>
30</div>
31&nbsp;
32<p>
33<ul>
34<li>m_addr
35: <a class="el" href="classCInstructionJumpA.html#ee10410094e2b3781da3cb53c390fb9e">CInstructionJumpA</a>
36, <a class="el" href="classCInstructionJumpZ.html#4f0147cd62010e0d178c9259737e8c10">CInstructionJumpZ</a>
37, <a class="el" href="classCInstructionJumpS.html#f610b22fcf027db2ad2152c52c006eda">CInstructionJumpS</a>
38<li>m_dev
39: <a class="el" href="classCInstructionWrite.html#a8ac6c36d3fbbfedfa2311f15c0608cc">CInstructionWrite</a>
40<li>m_name
41: <a class="el" href="classCDisplayT.html#ba8ab4d4abe2426b266660134efb370f">CDisplayT&lt; T &gt;</a>
42, <a class="el" href="classCInstruction.html#0c3b94ae1323d6201d2afd20c8686194">CInstruction</a>
43<li>m_regidx1
44: <a class="el" href="classCInstructionDec.html#4ea09ae25025e93c2790d5dc1536f41c">CInstructionDec</a>
45, <a class="el" href="classCInstructionWrite.html#7af118a6f35320bbbee55051188311d6">CInstructionWrite</a>
46, <a class="el" href="classCInstructionAdd.html#2808878fbfbee48f1c300bdd976446f4">CInstructionAdd</a>
47, <a class="el" href="classCInstructionSub.html#f9884524cd60c34f3d9a5142e1e586fb">CInstructionSub</a>
48, <a class="el" href="classCInstructionMul.html#c5c3b5b125973a0396c3ad7e0233b79f">CInstructionMul</a>
49, <a class="el" href="classCInstructionDiv.html#356508c5c90a345bdd0055385227852f">CInstructionDiv</a>
50, <a class="el" href="classCInstructionTest.html#26744f0f306f4a181936fc6e389eb9e3">CInstructionTest</a>
51, <a class="el" href="classCInstructionStore.html#5e57d0d27d70f13a590355f5c1782cc9">CInstructionStore</a>
52, <a class="el" href="classCInstructionLoad.html#91139a066176d4be83258eba0b412cb6">CInstructionLoad</a>
53, <a class="el" href="classCInstructionInc.html#b910df5b37f4d1352736913ee0cb7fb0">CInstructionInc</a>
54<li>m_regidx2
55: <a class="el" href="classCInstructionMul.html#eaaaff76fe29741fce14b322d4da8a54">CInstructionMul</a>
56, <a class="el" href="classCInstructionDiv.html#5a9c4be1386df1fa866927336abe3054">CInstructionDiv</a>
57, <a class="el" href="classCInstructionAdd.html#98e9005e15d5eb69ce561a91348a3a91">CInstructionAdd</a>
58, <a class="el" href="classCInstructionLoad.html#dbb1c5a56e063ce77d3b8d26355e2a49">CInstructionLoad</a>
59, <a class="el" href="classCInstructionSub.html#67030fafc6429936130bbe26874c337c">CInstructionSub</a>
60, <a class="el" href="classCInstructionStore.html#d960c6b85e7022704b4d7d059e1766d1">CInstructionStore</a>
61<li>m_regidx3
62: <a class="el" href="classCInstructionSub.html#a059bfa11944c55216619bb4328ed44e">CInstructionSub</a>
63, <a class="el" href="classCInstructionAdd.html#1c5979587fea23262a9bc593b9dc61a3">CInstructionAdd</a>
64, <a class="el" href="classCInstructionMul.html#171d8573f80224249ac14e4c8fec0c7b">CInstructionMul</a>
65, <a class="el" href="classCInstructionDiv.html#3e7033bb26ef68b051b0da8a8279df85">CInstructionDiv</a>
66</ul>
67<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
68<a href="http://www.doxygen.org/index.html">
69<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
70</body>
71</html>
diff --git a/ue3/doxygen/hierarchy.html b/ue3/doxygen/hierarchy.html
new file mode 100644
index 0000000..2fd63a5
--- /dev/null
+++ b/ue3/doxygen/hierarchy.html
@@ -0,0 +1,58 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Hierarchical Index</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<div class="tabs">
17 <ul>
18 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
19 <li class="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
20 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
21 </ul>
22</div>
23<h1>mycpu Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
24<li><a class="el" href="classCCPU.html">CCPU</a>
25<li><a class="el" href="classCDat.html">CDat</a>
26<li><a class="el" href="classCDatT.html">CDatT&lt; T &gt;</a>
27<li><a class="el" href="classCDisplay.html">CDisplay</a>
28<ul>
29<li><a class="el" href="classCDisplayWDEZ.html">CDisplayWDEZ</a>
30<li><a class="el" href="classCDisplayWHEX.html">CDisplayWHEX</a>
31</ul>
32<li><a class="el" href="classCDisplayT.html">CDisplayT&lt; T &gt;</a>
33<li><a class="el" href="classCInstruction.html">CInstruction</a>
34<ul>
35<li><a class="el" href="classCInstructionAdd.html">CInstructionAdd</a>
36<li><a class="el" href="classCInstructionDec.html">CInstructionDec</a>
37<li><a class="el" href="classCInstructionDiv.html">CInstructionDiv</a>
38<li><a class="el" href="classCInstructionInc.html">CInstructionInc</a>
39<li><a class="el" href="classCInstructionJumpA.html">CInstructionJumpA</a>
40<li><a class="el" href="classCInstructionJumpS.html">CInstructionJumpS</a>
41<li><a class="el" href="classCInstructionJumpZ.html">CInstructionJumpZ</a>
42<li><a class="el" href="classCInstructionLabel.html">CInstructionLabel</a>
43<li><a class="el" href="classCInstructionLoad.html">CInstructionLoad</a>
44<li><a class="el" href="classCInstructionMul.html">CInstructionMul</a>
45<li><a class="el" href="classCInstructionStore.html">CInstructionStore</a>
46<li><a class="el" href="classCInstructionSub.html">CInstructionSub</a>
47<li><a class="el" href="classCInstructionTest.html">CInstructionTest</a>
48<li><a class="el" href="classCInstructionWrite.html">CInstructionWrite</a>
49</ul>
50<li><a class="el" href="classCMem.html">CMem</a>
51<li><a class="el" href="classCProgram.html">CProgram</a>
52<li><a class="el" href="classCVectorMem.html">CVectorMem&lt; T, Allocator &gt;</a>
53</ul>
54<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
55<a href="http://www.doxygen.org/index.html">
56<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
57</body>
58</html>
diff --git a/ue3/doxygen/index.html b/ue3/doxygen/index.html
new file mode 100644
index 0000000..502a5e9
--- /dev/null
+++ b/ue3/doxygen/index.html
@@ -0,0 +1,22 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Main Page</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu Documentation</h1>
17<p>
18<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
19<a href="http://www.doxygen.org/index.html">
20<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
21</body>
22</html>
diff --git a/ue3/doxygen/instructions_8h-source.html b/ue3/doxygen/instructions_8h-source.html
new file mode 100644
index 0000000..7054830
--- /dev/null
+++ b/ue3/doxygen/instructions_8h-source.html
@@ -0,0 +1,347 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: mycpu/instructions.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li class="current"><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu/instructions.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17<a name="l00008"></a>00008 <span class="preprocessor">#ifndef INSTRUCTIONS_H</span>
18<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define INSTRUCTIONS_H 1</span>
19<a name="l00010"></a>00010 <span class="preprocessor"></span>
20<a name="l00011"></a>00011 <span class="preprocessor">#include "cinstruction.h"</span>
21<a name="l00012"></a>00012 <span class="preprocessor">#include "ccpu.h"</span>
22<a name="l00013"></a>00013
23<a name="l00021"></a><a class="code" href="classCInstructionInc.html">00021</a> <span class="keyword">class </span><a class="code" href="classCInstructionInc.html">CInstructionInc</a>
24<a name="l00022"></a>00022 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
25<a name="l00023"></a>00023 {
26<a name="l00024"></a>00024 <span class="keyword">public</span>:
27<a name="l00025"></a>00025 <a class="code" href="classCInstructionInc.html">CInstructionInc</a>()
28<a name="l00026"></a>00026 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"inc"</span>)
29<a name="l00027"></a>00027 {}
30<a name="l00028"></a>00028
31<a name="l00029"></a><a class="code" href="classCInstructionInc.html#d55c35cbbd5c88fd29a392051e79f5f1">00029</a> <a class="code" href="classCInstructionInc.html">CInstructionInc</a> *<a class="code" href="classCInstructionInc.html#d55c35cbbd5c88fd29a392051e79f5f1" title="creates a new instance of this instruction">factory</a>()
32<a name="l00030"></a>00030 {
33<a name="l00031"></a>00031 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionInc.html">CInstructionInc</a>;
34<a name="l00032"></a>00032 }
35<a name="l00033"></a>00033
36<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classCInstructionInc.html#ae36e952ec66b1c5cc2fb7e7c80064cc" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
37<a name="l00035"></a>00035 <span class="keywordtype">void</span> <a class="code" href="classCInstructionInc.html#2830b4c1aa89410e309821119ecf4d6f" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
38<a name="l00036"></a>00036
39<a name="l00037"></a>00037 <span class="keyword">protected</span>:
40<a name="l00039"></a><a class="code" href="classCInstructionInc.html#b910df5b37f4d1352736913ee0cb7fb0">00039</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionInc.html#b910df5b37f4d1352736913ee0cb7fb0">m_regidx1</a>;
41<a name="l00040"></a>00040 };
42<a name="l00041"></a>00041
43<a name="l00042"></a>00042 <span class="comment">/*============================================================================*/</span>
44<a name="l00043"></a>00043
45<a name="l00051"></a><a class="code" href="classCInstructionDec.html">00051</a> <span class="keyword">class </span><a class="code" href="classCInstructionDec.html">CInstructionDec</a>
46<a name="l00052"></a>00052 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
47<a name="l00053"></a>00053 {
48<a name="l00054"></a>00054 <span class="keyword">public</span>:
49<a name="l00055"></a>00055 <a class="code" href="classCInstructionDec.html">CInstructionDec</a>()
50<a name="l00056"></a>00056 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"dec"</span>)
51<a name="l00057"></a>00057 {}
52<a name="l00058"></a>00058
53<a name="l00059"></a><a class="code" href="classCInstructionDec.html#5aa3bcd55f05765e25758f45f4f55059">00059</a> <a class="code" href="classCInstructionDec.html">CInstructionDec</a> *<a class="code" href="classCInstructionDec.html#5aa3bcd55f05765e25758f45f4f55059" title="creates a new instance of this instruction">factory</a>()
54<a name="l00060"></a>00060 {
55<a name="l00061"></a>00061 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionDec.html">CInstructionDec</a>;
56<a name="l00062"></a>00062 }
57<a name="l00063"></a>00063
58<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classCInstructionDec.html#84347e9b3a373bafc5c1ae79a557f4c3" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
59<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="classCInstructionDec.html#b0a51da3b41aaa4e3e51baaa4151ebca" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
60<a name="l00066"></a>00066
61<a name="l00067"></a>00067 <span class="keyword">protected</span>:
62<a name="l00069"></a><a class="code" href="classCInstructionDec.html#4ea09ae25025e93c2790d5dc1536f41c">00069</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionDec.html#4ea09ae25025e93c2790d5dc1536f41c">m_regidx1</a>;
63<a name="l00070"></a>00070 };
64<a name="l00071"></a>00071
65<a name="l00072"></a>00072 <span class="comment">/*============================================================================*/</span>
66<a name="l00073"></a>00073
67<a name="l00081"></a><a class="code" href="classCInstructionAdd.html">00081</a> <span class="keyword">class </span><a class="code" href="classCInstructionAdd.html">CInstructionAdd</a>
68<a name="l00082"></a>00082 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
69<a name="l00083"></a>00083 {
70<a name="l00084"></a>00084 <span class="keyword">public</span>:
71<a name="l00085"></a>00085 <a class="code" href="classCInstructionAdd.html">CInstructionAdd</a>()
72<a name="l00086"></a>00086 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"add"</span>)
73<a name="l00087"></a>00087 {}
74<a name="l00088"></a>00088
75<a name="l00089"></a><a class="code" href="classCInstructionAdd.html#6fa9bae98f84f5ae34946641fb03ff32">00089</a> <a class="code" href="classCInstructionAdd.html">CInstructionAdd</a> *<a class="code" href="classCInstructionAdd.html#6fa9bae98f84f5ae34946641fb03ff32" title="creates a new instance of this instruction">factory</a>()
76<a name="l00090"></a>00090 {
77<a name="l00091"></a>00091 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionAdd.html">CInstructionAdd</a>;
78<a name="l00092"></a>00092 }
79<a name="l00093"></a>00093
80<a name="l00094"></a>00094 <span class="keywordtype">void</span> <a class="code" href="classCInstructionAdd.html#1da9f4b4016d27f2866add0b91e3b0fc" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
81<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="classCInstructionAdd.html#3c6844fd425de436ba3e7fbc98fd69e8" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
82<a name="l00096"></a>00096
83<a name="l00097"></a>00097 <span class="keyword">protected</span>:
84<a name="l00099"></a><a class="code" href="classCInstructionAdd.html#2808878fbfbee48f1c300bdd976446f4">00099</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionAdd.html#2808878fbfbee48f1c300bdd976446f4">m_regidx1</a>;
85<a name="l00101"></a><a class="code" href="classCInstructionAdd.html#98e9005e15d5eb69ce561a91348a3a91">00101</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionAdd.html#98e9005e15d5eb69ce561a91348a3a91">m_regidx2</a>;
86<a name="l00103"></a><a class="code" href="classCInstructionAdd.html#1c5979587fea23262a9bc593b9dc61a3">00103</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionAdd.html#1c5979587fea23262a9bc593b9dc61a3">m_regidx3</a>;
87<a name="l00104"></a>00104 };
88<a name="l00105"></a>00105
89<a name="l00106"></a>00106 <span class="comment">/*============================================================================*/</span>
90<a name="l00107"></a>00107
91<a name="l00115"></a><a class="code" href="classCInstructionSub.html">00115</a> <span class="keyword">class </span><a class="code" href="classCInstructionSub.html">CInstructionSub</a>
92<a name="l00116"></a>00116 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
93<a name="l00117"></a>00117 {
94<a name="l00118"></a>00118 <span class="keyword">public</span>:
95<a name="l00119"></a>00119 <a class="code" href="classCInstructionSub.html">CInstructionSub</a>()
96<a name="l00120"></a>00120 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"sub"</span>)
97<a name="l00121"></a>00121 {}
98<a name="l00122"></a>00122
99<a name="l00123"></a><a class="code" href="classCInstructionSub.html#71c77a5113f96ac25e79bc4d28072541">00123</a> <a class="code" href="classCInstructionSub.html">CInstructionSub</a> *<a class="code" href="classCInstructionSub.html#71c77a5113f96ac25e79bc4d28072541" title="creates a new instance of this instruction">factory</a>()
100<a name="l00124"></a>00124 {
101<a name="l00125"></a>00125 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionSub.html">CInstructionSub</a>;
102<a name="l00126"></a>00126 }
103<a name="l00127"></a>00127
104<a name="l00128"></a>00128 <span class="keywordtype">void</span> <a class="code" href="classCInstructionSub.html#9fe6d8f0f805313c98f8806a4739cbe9" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
105<a name="l00129"></a>00129 <span class="keywordtype">void</span> <a class="code" href="classCInstructionSub.html#03e098595198d4cc2f45d906e45e7f28" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
106<a name="l00130"></a>00130
107<a name="l00131"></a>00131 <span class="keyword">protected</span>:
108<a name="l00133"></a><a class="code" href="classCInstructionSub.html#f9884524cd60c34f3d9a5142e1e586fb">00133</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionSub.html#f9884524cd60c34f3d9a5142e1e586fb">m_regidx1</a>;
109<a name="l00135"></a><a class="code" href="classCInstructionSub.html#67030fafc6429936130bbe26874c337c">00135</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionSub.html#67030fafc6429936130bbe26874c337c">m_regidx2</a>;
110<a name="l00137"></a><a class="code" href="classCInstructionSub.html#a059bfa11944c55216619bb4328ed44e">00137</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionSub.html#a059bfa11944c55216619bb4328ed44e">m_regidx3</a>;
111<a name="l00138"></a>00138 };
112<a name="l00139"></a>00139
113<a name="l00140"></a>00140 <span class="comment">/*============================================================================*/</span>
114<a name="l00141"></a>00141
115<a name="l00149"></a><a class="code" href="classCInstructionMul.html">00149</a> <span class="keyword">class </span><a class="code" href="classCInstructionMul.html">CInstructionMul</a>
116<a name="l00150"></a>00150 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
117<a name="l00151"></a>00151 {
118<a name="l00152"></a>00152 <span class="keyword">public</span>:
119<a name="l00153"></a>00153 <a class="code" href="classCInstructionMul.html">CInstructionMul</a>()
120<a name="l00154"></a>00154 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"mul"</span>)
121<a name="l00155"></a>00155 {}
122<a name="l00156"></a>00156
123<a name="l00157"></a><a class="code" href="classCInstructionMul.html#1e8f23073a29a0d50fa9d651b986e821">00157</a> <a class="code" href="classCInstructionMul.html">CInstructionMul</a> *<a class="code" href="classCInstructionMul.html#1e8f23073a29a0d50fa9d651b986e821" title="creates a new instance of this instruction">factory</a>()
124<a name="l00158"></a>00158 {
125<a name="l00159"></a>00159 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionMul.html">CInstructionMul</a>;
126<a name="l00160"></a>00160 }
127<a name="l00161"></a>00161
128<a name="l00162"></a>00162 <span class="keywordtype">void</span> <a class="code" href="classCInstructionMul.html#188024d90dd19fcea0687d32e98c67a7" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
129<a name="l00163"></a>00163 <span class="keywordtype">void</span> <a class="code" href="classCInstructionMul.html#0675f51cbfb5d0d76e605f64b0b2555c" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
130<a name="l00164"></a>00164
131<a name="l00165"></a>00165 <span class="keyword">protected</span>:
132<a name="l00167"></a><a class="code" href="classCInstructionMul.html#c5c3b5b125973a0396c3ad7e0233b79f">00167</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionMul.html#c5c3b5b125973a0396c3ad7e0233b79f">m_regidx1</a>;
133<a name="l00169"></a><a class="code" href="classCInstructionMul.html#eaaaff76fe29741fce14b322d4da8a54">00169</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionMul.html#eaaaff76fe29741fce14b322d4da8a54">m_regidx2</a>;
134<a name="l00171"></a><a class="code" href="classCInstructionMul.html#171d8573f80224249ac14e4c8fec0c7b">00171</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionMul.html#171d8573f80224249ac14e4c8fec0c7b">m_regidx3</a>;
135<a name="l00172"></a>00172 };
136<a name="l00173"></a>00173
137<a name="l00174"></a>00174 <span class="comment">/*============================================================================*/</span>
138<a name="l00175"></a>00175
139<a name="l00183"></a><a class="code" href="classCInstructionDiv.html">00183</a> <span class="keyword">class </span><a class="code" href="classCInstructionDiv.html">CInstructionDiv</a>
140<a name="l00184"></a>00184 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
141<a name="l00185"></a>00185 {
142<a name="l00186"></a>00186 <span class="keyword">public</span>:
143<a name="l00187"></a>00187 <a class="code" href="classCInstructionDiv.html">CInstructionDiv</a>()
144<a name="l00188"></a>00188 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"div"</span>)
145<a name="l00189"></a>00189 {}
146<a name="l00190"></a>00190
147<a name="l00191"></a><a class="code" href="classCInstructionDiv.html#3445767e66ab734ec88b6084a10c4446">00191</a> <a class="code" href="classCInstructionDiv.html">CInstructionDiv</a> *<a class="code" href="classCInstructionDiv.html#3445767e66ab734ec88b6084a10c4446" title="creates a new instance of this instruction">factory</a>()
148<a name="l00192"></a>00192 {
149<a name="l00193"></a>00193 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionDiv.html">CInstructionDiv</a>;
150<a name="l00194"></a>00194 }
151<a name="l00195"></a>00195
152<a name="l00196"></a>00196 <span class="keywordtype">void</span> <a class="code" href="classCInstructionDiv.html#349324231c5516886d99caf07ecb8c0c" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
153<a name="l00197"></a>00197 <span class="keywordtype">void</span> <a class="code" href="classCInstructionDiv.html#7fee4e02bc6904c9d6039aa467aed1f4" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
154<a name="l00198"></a>00198
155<a name="l00199"></a>00199 <span class="keyword">protected</span>:
156<a name="l00201"></a><a class="code" href="classCInstructionDiv.html#356508c5c90a345bdd0055385227852f">00201</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionDiv.html#356508c5c90a345bdd0055385227852f">m_regidx1</a>;
157<a name="l00203"></a><a class="code" href="classCInstructionDiv.html#5a9c4be1386df1fa866927336abe3054">00203</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionDiv.html#5a9c4be1386df1fa866927336abe3054">m_regidx2</a>;
158<a name="l00205"></a><a class="code" href="classCInstructionDiv.html#3e7033bb26ef68b051b0da8a8279df85">00205</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionDiv.html#3e7033bb26ef68b051b0da8a8279df85">m_regidx3</a>;
159<a name="l00206"></a>00206 };
160<a name="l00207"></a>00207
161<a name="l00208"></a>00208 <span class="comment">/*============================================================================*/</span>
162<a name="l00209"></a>00209
163<a name="l00217"></a><a class="code" href="classCInstructionLoad.html">00217</a> <span class="keyword">class </span><a class="code" href="classCInstructionLoad.html">CInstructionLoad</a>
164<a name="l00218"></a>00218 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
165<a name="l00219"></a>00219 {
166<a name="l00220"></a>00220 <span class="keyword">public</span>:
167<a name="l00221"></a>00221 <a class="code" href="classCInstructionLoad.html">CInstructionLoad</a>()
168<a name="l00222"></a>00222 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"load"</span>)
169<a name="l00223"></a>00223 {}
170<a name="l00224"></a>00224
171<a name="l00225"></a><a class="code" href="classCInstructionLoad.html#35c051515ccd6a12dbb39ab4b2e33ded">00225</a> <a class="code" href="classCInstructionLoad.html">CInstructionLoad</a> *<a class="code" href="classCInstructionLoad.html#35c051515ccd6a12dbb39ab4b2e33ded" title="creates a new instance of this instruction">factory</a>()
172<a name="l00226"></a>00226 {
173<a name="l00227"></a>00227 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionLoad.html">CInstructionLoad</a>;
174<a name="l00228"></a>00228 }
175<a name="l00229"></a>00229
176<a name="l00230"></a>00230 <span class="keywordtype">void</span> <a class="code" href="classCInstructionLoad.html#4aa70fe481286e0bcc27f7a9ce896d3d" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
177<a name="l00231"></a>00231 <span class="keywordtype">void</span> <a class="code" href="classCInstructionLoad.html#fdda1d554401f9bfd32a6300f5ad2bb6" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
178<a name="l00232"></a>00232
179<a name="l00233"></a>00233 <span class="keyword">protected</span>:
180<a name="l00235"></a><a class="code" href="classCInstructionLoad.html#91139a066176d4be83258eba0b412cb6">00235</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionLoad.html#91139a066176d4be83258eba0b412cb6">m_regidx1</a>;
181<a name="l00237"></a><a class="code" href="classCInstructionLoad.html#dbb1c5a56e063ce77d3b8d26355e2a49">00237</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionLoad.html#dbb1c5a56e063ce77d3b8d26355e2a49">m_regidx2</a>;
182<a name="l00238"></a>00238 };
183<a name="l00239"></a>00239
184<a name="l00240"></a>00240 <span class="comment">/*============================================================================*/</span>
185<a name="l00241"></a>00241
186<a name="l00249"></a><a class="code" href="classCInstructionStore.html">00249</a> <span class="keyword">class </span><a class="code" href="classCInstructionStore.html">CInstructionStore</a>
187<a name="l00250"></a>00250 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
188<a name="l00251"></a>00251 {
189<a name="l00252"></a>00252 <span class="keyword">public</span>:
190<a name="l00253"></a>00253 <a class="code" href="classCInstructionStore.html">CInstructionStore</a>()
191<a name="l00254"></a>00254 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"store"</span>)
192<a name="l00255"></a>00255 {}
193<a name="l00256"></a>00256
194<a name="l00257"></a><a class="code" href="classCInstructionStore.html#cab0d4c9bf2cc0d6b1b450ef9aeebcc0">00257</a> <a class="code" href="classCInstructionStore.html">CInstructionStore</a> *<a class="code" href="classCInstructionStore.html#cab0d4c9bf2cc0d6b1b450ef9aeebcc0" title="creates a new instance of this instruction">factory</a>()
195<a name="l00258"></a>00258 {
196<a name="l00259"></a>00259 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionStore.html">CInstructionStore</a>;
197<a name="l00260"></a>00260 }
198<a name="l00261"></a>00261
199<a name="l00262"></a>00262 <span class="keywordtype">void</span> <a class="code" href="classCInstructionStore.html#9848bf36bd3ec75ae481d8ef1f36c6ee" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
200<a name="l00263"></a>00263 <span class="keywordtype">void</span> <a class="code" href="classCInstructionStore.html#fd5ee6692540613ee8cc9a2bf8ff920a" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
201<a name="l00264"></a>00264
202<a name="l00265"></a>00265 <span class="keyword">protected</span>:
203<a name="l00267"></a><a class="code" href="classCInstructionStore.html#5e57d0d27d70f13a590355f5c1782cc9">00267</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionStore.html#5e57d0d27d70f13a590355f5c1782cc9">m_regidx1</a>;
204<a name="l00269"></a><a class="code" href="classCInstructionStore.html#d960c6b85e7022704b4d7d059e1766d1">00269</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionStore.html#d960c6b85e7022704b4d7d059e1766d1">m_regidx2</a>;
205<a name="l00270"></a>00270 };
206<a name="l00271"></a>00271
207<a name="l00272"></a>00272 <span class="comment">/*============================================================================*/</span>
208<a name="l00273"></a>00273
209<a name="l00281"></a><a class="code" href="classCInstructionTest.html">00281</a> <span class="keyword">class </span><a class="code" href="classCInstructionTest.html">CInstructionTest</a>
210<a name="l00282"></a>00282 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
211<a name="l00283"></a>00283 {
212<a name="l00284"></a>00284 <span class="keyword">public</span>:
213<a name="l00285"></a>00285 <a class="code" href="classCInstructionTest.html">CInstructionTest</a>()
214<a name="l00286"></a>00286 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"test"</span>)
215<a name="l00287"></a>00287 {}
216<a name="l00288"></a>00288
217<a name="l00289"></a><a class="code" href="classCInstructionTest.html#9e4e1ac29b5173a70dc1172bbb096671">00289</a> <a class="code" href="classCInstructionTest.html">CInstructionTest</a> *<a class="code" href="classCInstructionTest.html#9e4e1ac29b5173a70dc1172bbb096671" title="creates a new instance of this instruction">factory</a>()
218<a name="l00290"></a>00290 {
219<a name="l00291"></a>00291 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionTest.html">CInstructionTest</a>;
220<a name="l00292"></a>00292 }
221<a name="l00293"></a>00293
222<a name="l00294"></a>00294 <span class="keywordtype">void</span> <a class="code" href="classCInstructionTest.html#b09f0e02ab71b01af6eda0152d1fc975" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
223<a name="l00295"></a>00295 <span class="keywordtype">void</span> <a class="code" href="classCInstructionTest.html#955cf58c41c9e305059baea28b65cf3a" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
224<a name="l00296"></a>00296
225<a name="l00297"></a>00297 <span class="keyword">protected</span>:
226<a name="l00299"></a><a class="code" href="classCInstructionTest.html#26744f0f306f4a181936fc6e389eb9e3">00299</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionTest.html#26744f0f306f4a181936fc6e389eb9e3">m_regidx1</a>;
227<a name="l00300"></a>00300 };
228<a name="l00301"></a>00301
229<a name="l00302"></a>00302 <span class="comment">/*============================================================================*/</span>
230<a name="l00303"></a>00303
231<a name="l00310"></a><a class="code" href="classCInstructionLabel.html">00310</a> <span class="keyword">class </span><a class="code" href="classCInstructionLabel.html">CInstructionLabel</a>
232<a name="l00311"></a>00311 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
233<a name="l00312"></a>00312 {
234<a name="l00313"></a>00313 <span class="keyword">public</span>:
235<a name="l00314"></a>00314 <a class="code" href="classCInstructionLabel.html">CInstructionLabel</a>()
236<a name="l00315"></a>00315 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"label"</span>)
237<a name="l00316"></a>00316 {}
238<a name="l00317"></a>00317
239<a name="l00318"></a><a class="code" href="classCInstructionLabel.html#66ba5bd6facecd45f3616fc94eb2845f">00318</a> <a class="code" href="classCInstructionLabel.html">CInstructionLabel</a> *<a class="code" href="classCInstructionLabel.html#66ba5bd6facecd45f3616fc94eb2845f" title="creates a new instance of this instruction">factory</a>()
240<a name="l00319"></a>00319 {
241<a name="l00320"></a>00320 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionLabel.html">CInstructionLabel</a>;
242<a name="l00321"></a>00321 }
243<a name="l00322"></a>00322
244<a name="l00323"></a><a class="code" href="classCInstructionLabel.html#321fd849ae169d900964431b4100321f">00323</a> <span class="keywordtype">void</span> <a class="code" href="classCInstructionLabel.html#321fd849ae169d900964431b4100321f" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params)
245<a name="l00324"></a>00324 {}
246<a name="l00325"></a>00325
247<a name="l00326"></a><a class="code" href="classCInstructionLabel.html#665f2fc395ffed3bd968659f67868f53">00326</a> <span class="keywordtype">void</span> <a class="code" href="classCInstructionLabel.html#665f2fc395ffed3bd968659f67868f53" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu)
248<a name="l00327"></a>00327 {}
249<a name="l00328"></a>00328 };
250<a name="l00329"></a>00329
251<a name="l00330"></a>00330 <span class="comment">/*============================================================================*/</span>
252<a name="l00331"></a>00331
253<a name="l00339"></a><a class="code" href="classCInstructionJumpA.html">00339</a> <span class="keyword">class </span><a class="code" href="classCInstructionJumpA.html">CInstructionJumpA</a>
254<a name="l00340"></a>00340 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
255<a name="l00341"></a>00341 {
256<a name="l00342"></a>00342 <span class="keyword">public</span>:
257<a name="l00343"></a>00343 <a class="code" href="classCInstructionJumpA.html">CInstructionJumpA</a>()
258<a name="l00344"></a>00344 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"jumpa"</span>), <a class="code" href="classCInstructionJumpA.html#ee10410094e2b3781da3cb53c390fb9e">m_addr</a>(<span class="stringliteral">""</span>)
259<a name="l00345"></a>00345 {}
260<a name="l00346"></a>00346
261<a name="l00347"></a><a class="code" href="classCInstructionJumpA.html#d7679ea0d70ab9725f84dcce76adc057">00347</a> <a class="code" href="classCInstructionJumpA.html">CInstructionJumpA</a> *<a class="code" href="classCInstructionJumpA.html#d7679ea0d70ab9725f84dcce76adc057" title="creates a new instance of this instruction">factory</a>()
262<a name="l00348"></a>00348 {
263<a name="l00349"></a>00349 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionJumpA.html">CInstructionJumpA</a>;
264<a name="l00350"></a>00350 }
265<a name="l00351"></a>00351
266<a name="l00352"></a>00352 <span class="keywordtype">void</span> <a class="code" href="classCInstructionJumpA.html#f772a57214b192263594d2ff46f03a1e" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
267<a name="l00353"></a>00353 <span class="keywordtype">void</span> <a class="code" href="classCInstructionJumpA.html#76daeedb9c7cb3be0173580be9390887" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
268<a name="l00354"></a>00354
269<a name="l00355"></a>00355 <span class="keyword">protected</span>:
270<a name="l00357"></a><a class="code" href="classCInstructionJumpA.html#ee10410094e2b3781da3cb53c390fb9e">00357</a> std::string <a class="code" href="classCInstructionJumpA.html#ee10410094e2b3781da3cb53c390fb9e">m_addr</a>;
271<a name="l00358"></a>00358 };
272<a name="l00359"></a>00359
273<a name="l00360"></a>00360 <span class="comment">/*============================================================================*/</span>
274<a name="l00361"></a>00361
275<a name="l00369"></a><a class="code" href="classCInstructionJumpZ.html">00369</a> <span class="keyword">class </span><a class="code" href="classCInstructionJumpZ.html">CInstructionJumpZ</a>
276<a name="l00370"></a>00370 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
277<a name="l00371"></a>00371 {
278<a name="l00372"></a>00372 <span class="keyword">public</span>:
279<a name="l00373"></a>00373 <a class="code" href="classCInstructionJumpZ.html">CInstructionJumpZ</a>()
280<a name="l00374"></a>00374 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"jumpz"</span>), <a class="code" href="classCInstructionJumpZ.html#4f0147cd62010e0d178c9259737e8c10">m_addr</a>(<span class="stringliteral">""</span>)
281<a name="l00375"></a>00375 {}
282<a name="l00376"></a>00376
283<a name="l00377"></a><a class="code" href="classCInstructionJumpZ.html#e0750f1ce4a5746be3317024f4ef92eb">00377</a> <a class="code" href="classCInstructionJumpZ.html">CInstructionJumpZ</a> *<a class="code" href="classCInstructionJumpZ.html#e0750f1ce4a5746be3317024f4ef92eb" title="creates a new instance of this instruction">factory</a>()
284<a name="l00378"></a>00378 {
285<a name="l00379"></a>00379 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionJumpZ.html">CInstructionJumpZ</a>;
286<a name="l00380"></a>00380 }
287<a name="l00381"></a>00381
288<a name="l00382"></a>00382 <span class="keywordtype">void</span> <a class="code" href="classCInstructionJumpZ.html#e4c05192b829d2bcc1e838de195ef3d9" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
289<a name="l00383"></a>00383 <span class="keywordtype">void</span> <a class="code" href="classCInstructionJumpZ.html#92f15deda156ebd20e8af47589753783" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
290<a name="l00384"></a>00384
291<a name="l00385"></a>00385 <span class="keyword">protected</span>:
292<a name="l00387"></a><a class="code" href="classCInstructionJumpZ.html#4f0147cd62010e0d178c9259737e8c10">00387</a> std::string <a class="code" href="classCInstructionJumpZ.html#4f0147cd62010e0d178c9259737e8c10">m_addr</a>;
293<a name="l00388"></a>00388 };
294<a name="l00389"></a>00389
295<a name="l00390"></a>00390 <span class="comment">/*============================================================================*/</span>
296<a name="l00391"></a>00391
297<a name="l00399"></a><a class="code" href="classCInstructionJumpS.html">00399</a> <span class="keyword">class </span><a class="code" href="classCInstructionJumpS.html">CInstructionJumpS</a>
298<a name="l00400"></a>00400 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
299<a name="l00401"></a>00401 {
300<a name="l00402"></a>00402 <span class="keyword">public</span>:
301<a name="l00403"></a>00403 <a class="code" href="classCInstructionJumpS.html">CInstructionJumpS</a>()
302<a name="l00404"></a>00404 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"jumps"</span>), <a class="code" href="classCInstructionJumpS.html#f610b22fcf027db2ad2152c52c006eda">m_addr</a>(<span class="stringliteral">""</span>)
303<a name="l00405"></a>00405 {}
304<a name="l00406"></a>00406
305<a name="l00407"></a><a class="code" href="classCInstructionJumpS.html#4b25703a62dafb568700dcad217f7ba6">00407</a> <a class="code" href="classCInstructionJumpS.html">CInstructionJumpS</a> *<a class="code" href="classCInstructionJumpS.html#4b25703a62dafb568700dcad217f7ba6" title="creates a new instance of this instruction">factory</a>()
306<a name="l00408"></a>00408 {
307<a name="l00409"></a>00409 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionJumpS.html">CInstructionJumpS</a>;
308<a name="l00410"></a>00410 }
309<a name="l00411"></a>00411
310<a name="l00412"></a>00412 <span class="keywordtype">void</span> <a class="code" href="classCInstructionJumpS.html#671d749a6e93f26851879c4ceac09f4c" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
311<a name="l00413"></a>00413 <span class="keywordtype">void</span> <a class="code" href="classCInstructionJumpS.html#8c2e8e077463e64ca64204bb6ed20f71" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
312<a name="l00414"></a>00414
313<a name="l00415"></a>00415 <span class="keyword">protected</span>:
314<a name="l00417"></a><a class="code" href="classCInstructionJumpS.html#f610b22fcf027db2ad2152c52c006eda">00417</a> std::string <a class="code" href="classCInstructionJumpS.html#f610b22fcf027db2ad2152c52c006eda">m_addr</a>;
315<a name="l00418"></a>00418 };
316<a name="l00419"></a>00419
317<a name="l00420"></a>00420 <span class="comment">/*============================================================================*/</span>
318<a name="l00421"></a>00421
319<a name="l00429"></a><a class="code" href="classCInstructionWrite.html">00429</a> <span class="keyword">class </span><a class="code" href="classCInstructionWrite.html">CInstructionWrite</a>
320<a name="l00430"></a>00430 : <span class="keyword">public</span> <a class="code" href="classCInstruction.html">CInstruction</a>
321<a name="l00431"></a>00431 {
322<a name="l00432"></a>00432 <span class="keyword">public</span>:
323<a name="l00433"></a>00433 <a class="code" href="classCInstructionWrite.html">CInstructionWrite</a>()
324<a name="l00434"></a>00434 : <a class="code" href="classCInstruction.html#263195c9e1f109bf44f7040727dcfa78" title="Default ctor.">CInstruction</a>(<span class="stringliteral">"write"</span>), <a class="code" href="classCInstructionWrite.html#a8ac6c36d3fbbfedfa2311f15c0608cc">m_dev</a>(<span class="stringliteral">""</span>)
325<a name="l00435"></a>00435 {}
326<a name="l00436"></a>00436
327<a name="l00437"></a><a class="code" href="classCInstructionWrite.html#a33ddc8fb13dfaa253704eb0952f3cea">00437</a> <a class="code" href="classCInstructionWrite.html">CInstructionWrite</a> *<a class="code" href="classCInstructionWrite.html#a33ddc8fb13dfaa253704eb0952f3cea" title="creates a new instance of this instruction">factory</a>()
328<a name="l00438"></a>00438 {
329<a name="l00439"></a>00439 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classCInstructionWrite.html">CInstructionWrite</a>;
330<a name="l00440"></a>00440 }
331<a name="l00441"></a>00441
332<a name="l00442"></a>00442 <span class="keywordtype">void</span> <a class="code" href="classCInstructionWrite.html#23f5bb8e4b8a74f7a8703d593323b991" title="parses instruction parameters and prepares the instruction for executing">compile</a>(std::list&lt;std::string&gt;&amp; params);
333<a name="l00443"></a>00443 <span class="keywordtype">void</span> <a class="code" href="classCInstructionWrite.html#1852e50c21b758a4db205a6cd20e208d" title="executes the instruction">execute</a>(<a class="code" href="classCCPU.html">CCPU</a> *cpu);
334<a name="l00444"></a>00444
335<a name="l00445"></a>00445 <span class="keyword">protected</span>:
336<a name="l00447"></a><a class="code" href="classCInstructionWrite.html#7af118a6f35320bbbee55051188311d6">00447</a> <span class="keywordtype">unsigned</span> <a class="code" href="classCInstructionWrite.html#7af118a6f35320bbbee55051188311d6">m_regidx1</a>;
337<a name="l00449"></a><a class="code" href="classCInstructionWrite.html#a8ac6c36d3fbbfedfa2311f15c0608cc">00449</a> std::string <a class="code" href="classCInstructionWrite.html#a8ac6c36d3fbbfedfa2311f15c0608cc">m_dev</a>;
338<a name="l00450"></a>00450 };
339<a name="l00451"></a>00451
340<a name="l00452"></a>00452 <span class="preprocessor">#endif</span>
341<a name="l00453"></a>00453 <span class="preprocessor"></span>
342<a name="l00454"></a>00454 <span class="comment">/* vim: set et sw=2 ts=2: */</span>
343</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:16 2009 for mycpu by&nbsp;
344<a href="http://www.doxygen.org/index.html">
345<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
346</body>
347</html>
diff --git a/ue3/doxygen/namespaces.html b/ue3/doxygen/namespaces.html
new file mode 100644
index 0000000..171e4d7
--- /dev/null
+++ b/ue3/doxygen/namespaces.html
@@ -0,0 +1,23 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: Namespace Index</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>mycpu Namespace List</h1>Here is a list of all documented namespaces with brief descriptions:<table>
17 <tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue">CPU implementation. Used as a container for memory and instructions. Implements an run method to execute the program (= the instructions) </td></tr>
18</table>
19<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
20<a href="http://www.doxygen.org/index.html">
21<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
22</body>
23</html>
diff --git a/ue3/doxygen/namespacestd.html b/ue3/doxygen/namespacestd.html
new file mode 100644
index 0000000..29c962a
--- /dev/null
+++ b/ue3/doxygen/namespacestd.html
@@ -0,0 +1,32 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mycpu: std Namespace Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
12 <li><a href="annotated.html"><span>Classes</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>std Namespace Reference</h1>CPU implementation. Used as a container for memory and instructions. Implements an run method to execute the program (= the instructions).
17<a href="#_details">More...</a>
18<p>
19<table border="0" cellpadding="0" cellspacing="0">
20<tr><td></td></tr>
21</table>
22<hr><a name="_details"></a><h2>Detailed Description</h2>
23CPU implementation. Used as a container for memory and instructions. Implements an run method to execute the program (= the instructions).
24<p>
25<dl class="user" compact><dt><b>Modulname:</b></dt><dd>ccpu </dd></dl>
26<dl class="author" compact><dt><b>Author:</b></dt><dd>Guenther Neuwirth (0626638), Manuel Mausz (0728348) </dd></dl>
27<dl class="date" compact><dt><b>Date:</b></dt><dd>10.05.2009 </dd></dl>
28<hr size="1"><address style="text-align: right;"><small>Generated on Thu May 14 18:19:17 2009 for mycpu by&nbsp;
29<a href="http://www.doxygen.org/index.html">
30<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
31</body>
32</html>
diff --git a/ue3/doxygen/tab_b.gif b/ue3/doxygen/tab_b.gif
new file mode 100644
index 0000000..0d62348
--- /dev/null
+++ b/ue3/doxygen/tab_b.gif
Binary files differ
diff --git a/ue3/doxygen/tab_l.gif b/ue3/doxygen/tab_l.gif
new file mode 100644
index 0000000..9b1e633
--- /dev/null
+++ b/ue3/doxygen/tab_l.gif
Binary files differ
diff --git a/ue3/doxygen/tab_r.gif b/ue3/doxygen/tab_r.gif
new file mode 100644
index 0000000..ce9dd9f
--- /dev/null
+++ b/ue3/doxygen/tab_r.gif
Binary files differ
diff --git a/ue3/doxygen/tabs.css b/ue3/doxygen/tabs.css
new file mode 100644
index 0000000..c37faaf
--- /dev/null
+++ b/ue3/doxygen/tabs.css
@@ -0,0 +1,102 @@
1/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
2
3DIV.tabs
4{
5 float : left;
6 width : 100%;
7 background : url("tab_b.gif") repeat-x bottom;
8 margin-bottom : 4px;
9}
10
11DIV.tabs UL
12{
13 margin : 0px;
14 padding-left : 10px;
15 list-style : none;
16}
17
18DIV.tabs LI, DIV.tabs FORM
19{
20 display : inline;
21 margin : 0px;
22 padding : 0px;
23}
24
25DIV.tabs FORM
26{
27 float : right;
28}
29
30DIV.tabs A
31{
32 float : left;
33 background : url("tab_r.gif") no-repeat right top;
34 border-bottom : 1px solid #84B0C7;
35 font-size : x-small;
36 font-weight : bold;
37 text-decoration : none;
38}
39
40DIV.tabs A:hover
41{
42 background-position: 100% -150px;
43}
44
45DIV.tabs A:link, DIV.tabs A:visited,
46DIV.tabs A:active, DIV.tabs A:hover
47{
48 color: #1A419D;
49}
50
51DIV.tabs SPAN
52{
53 float : left;
54 display : block;
55 background : url("tab_l.gif") no-repeat left top;
56 padding : 5px 9px;
57 white-space : nowrap;
58}
59
60DIV.tabs INPUT
61{
62 float : right;
63 display : inline;
64 font-size : 1em;
65}
66
67DIV.tabs TD
68{
69 font-size : x-small;
70 font-weight : bold;
71 text-decoration : none;
72}
73
74
75
76/* Commented Backslash Hack hides rule from IE5-Mac \*/
77DIV.tabs SPAN {float : none;}
78/* End IE5-Mac hack */
79
80DIV.tabs A:hover SPAN
81{
82 background-position: 0% -150px;
83}
84
85DIV.tabs LI.current A
86{
87 background-position: 100% -150px;
88 border-width : 0px;
89}
90
91DIV.tabs LI.current SPAN
92{
93 background-position: 0% -150px;
94 padding-bottom : 6px;
95}
96
97DIV.nav
98{
99 background : none;
100 border : none;
101 border-bottom : 1px solid #84B0C7;
102}
diff --git a/ue3/mycpu/Makefile b/ue3/mycpu/Makefile
index 76b6244..eec8b47 100644
--- a/ue3/mycpu/Makefile
+++ b/ue3/mycpu/Makefile
@@ -6,13 +6,13 @@ CXX= g++
6LD= $(CXX) 6LD= $(CXX)
7DEBUGFLAGS= -DNDEBUG 7DEBUGFLAGS= -DNDEBUG
8INCLUDE_PATH= -I/usr/local/include 8INCLUDE_PATH= -I/usr/local/include
9CXXFLAGS= -O -ansi -pedantic-errors -Wall $(INCLUDE_PATH) $(DEBUGFLAGS) 9CXXFLAGS= -O -ansi -pedantic-errors -Wall -Wno-long-long $(INCLUDE_PATH) $(DEBUGFLAGS)
10LDFLAGS= 10LDFLAGS=
11LIBS= -L/usr/local/lib -lboost_program_options 11LIBS= -L/usr/local/lib -lboost_program_options
12 12
13BIN= mycpu 13BIN= mycpu
14OBJS= mycpu.o ccpu.o cprogram.o cmem.o cinstruction.o 14OBJS= cinstruction.o instructions.o cprogram.o ccpu.o mycpu.o
15HEADERS= cdat.h ccpu.h cprogram.h cmem.h cinstruction.h 15HEADERS= cdat.h cmem.h cinstruction.h instructions.h cprogram.h cdisplay.h displays.h ccpu.h
16 16
17.SUFFIXES: .cpp .o 17.SUFFIXES: .cpp .o
18 18
diff --git a/ue3/mycpu/ccpu.cpp b/ue3/mycpu/ccpu.cpp
index 978f1f7..af86200 100644
--- a/ue3/mycpu/ccpu.cpp
+++ b/ue3/mycpu/ccpu.cpp
@@ -1,76 +1,89 @@
1/** 1/**
2 * @module ccpu 2 * @module ccpu
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief class for processing a program 4 * @brief CPU implementation. Used as a container for memory and instructions.
5 * @date 11.05.2009 5 * Implements an run method to execute the program (= the instructions).
6 * @date 10.05.2009
6 */ 7 */
7 8
8#include <fstream> 9#ifdef DEBUG
9#include <boost/tokenizer.hpp> 10# include <iostream>
10#include <boost/algorithm/string.hpp> 11# include <iomanip>
11 12#endif
12#include "ccpu.h" 13#include "ccpu.h"
13#include "cinstruction.h" 14#include "displays.h"
14#include "cprogram.h"
15#include "cmem.h"
16
17 15
18using namespace std; 16using namespace std;
19using namespace boost;
20 17
21CCPU::CCPU(const std::string& progfile, const std::string& memfile) 18CCPU::CCPU(const unsigned cnt)
22 : m_program(progfile), m_memory(memfile) 19 : m_regcnt(cnt), m_memory(NULL), m_program(NULL), m_flagzero(false), m_flagsign(false)
23{ 20{
24 f_zero = false; 21 /* create registers */
25 f_sign = false; 22 m_registers = new CDat[cnt];
26 m_instrHandler["inc"] = new CInc(); 23 for(unsigned i = 0; i < cnt; ++i)
27 m_instrHandler["dec"] = new CDec(); 24 m_registers[i] = 0;
28 m_instrHandler["add"] = new CAdd(); 25
29 m_instrHandler["sub"] = new CSub(); 26 /* create displays */
30 m_instrHandler["mul"] = new CMul(); 27 m_displays.insert(new CDisplayWDEZ);
31 m_instrHandler["div"] = new CDiv(); 28 m_displays.insert(new CDisplayWHEX);
32 m_instrHandler["load"] = new CLoad();
33 m_instrHandler["store"] = new CStore();
34 m_instrHandler["test"] = new CTest(f_zero, f_sign);
35 m_instrHandler["label"] = new CLabel();
36 m_instrHandler["jumpa"] = new CJumpa(m_program.getJumpAddrs());
37 m_instrHandler["jumpz"] = new CJumpz(f_zero, f_sign, m_program.getJumpAddrs());
38 m_instrHandler["jumps"] = new CJumps(f_zero, f_sign, m_program.getJumpAddrs());
39 m_instrHandler["write"] = new CWrite();
40} 29}
41 30
31/*----------------------------------------------------------------------------*/
32
42CCPU::~CCPU() 33CCPU::~CCPU()
43{ 34{
44 std::map<std::string, CInstruction *>::iterator it; 35 /* delete registers */
45 for (it = m_instrHandler.begin(); it != m_instrHandler.end(); it++) 36 delete[] m_registers;
46 delete (*it).second ; 37 m_registers = NULL;
38
39 /* delete displays */
40 std::set<CDisplay *>::iterator it;
41 for (it = m_displays.begin() ; it != m_displays.end(); ++it)
42 delete *it;
47} 43}
48void CCPU::proceed() 44
45/*----------------------------------------------------------------------------*/
46
47void CCPU::run()
49{ 48{
50 49 if (m_memory == NULL)
51 while (m_memory.getRegister("R0") < m_program.getMaxProgramCount()) 50 throw runtime_error("CPU has no memory");
52 { 51 if (m_program == NULL)
53 std::vector<std::string>& i_list = m_program.getInstruction( 52 throw runtime_error("CPU has no program to execute");
54 m_memory.getRegister("R0") 53 if (m_regcnt == 0)
55 ); 54 throw runtime_error("CPU has no registers");
56 55
57 56 bool run = true;
58 57 while(run)
59 m_instrHandler[i_list[0]]->exec(m_memory, i_list); 58 {
60/* for(int i = 0; i < (int)i_list.size(); i++) 59 unsigned pc = static_cast<unsigned>(m_registers[0]);
61 cout << i_list[i] << " "; 60
62 if (i_list[0] == "load") 61 /* end of the program reached */
63 { 62 if (pc == m_program->size())
64 63 break;
65 cout << m_memory.getRegister(i_list[1])<<" "<<m_memory.getRegister("R255")<<endl; 64
66 break; 65 /* pc is out of bound */
67 }*/ 66 if (pc > m_program->size())
68 m_memory.getRegister("R0")++; 67 throw runtime_error("Programcounter is out of bound");
69// cout << m_memory.getRegister("R0")<<endl; 68
70 // cout<<endl; 69 /* execute instruction */
71 } 70 (*m_program->at(pc))(this);
72 71 ++m_registers[0];
72 }
73} 73}
74 74
75/*----------------------------------------------------------------------------*/
75 76
77#if DEBUG
78void CCPU::dumpRegisters(std::ostream& out)
79{
80 out << "[REGISTER DUMP]" << endl;
81 for(unsigned i = 0; i < getRegisterCount(); ++i)
82 {
83 out << "[" << std::setw(4) << std::setfill('0') << i << "] "
84 << m_registers[i] << endl;
85 }
86}
87#endif
76 88
89/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/ccpu.h b/ue3/mycpu/ccpu.h
index 68a4b8d..6849623 100644
--- a/ue3/mycpu/ccpu.h
+++ b/ue3/mycpu/ccpu.h
@@ -1,50 +1,43 @@
1/** 1/**
2 * @module ccpu 2 * @module ccpu
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief class for parsing simple scriptfiles 4 * @brief CPU implementation. Used as a container for memory and instructions.
5 * @date 17.04.2009 5 * Implements a run method to execute the program (= the instructions).
6 * @date 10.05.2009
6 */ 7 */
7 8
8#ifndef CCPU_H 9#ifndef CCPU_H
9#define CCPU_H 10#define CCPU_H 1
10 11
11#include <stdexcept> 12#include <iostream>
12#include <string> 13#include <set>
13#include <vector> 14#include "cdat.h"
14
15#include "cprogram.h"
16#include "cmem.h" 15#include "cmem.h"
17#include "cinstruction.h" 16#include "cprogram.h"
17#include "cdisplay.h"
18
18/** 19/**
19 * @class CCPU 20 * @class CCPU
20 * 21 *
21 * Parses a simple line based scriptfile with some limitations: 22 * CPU implementation. Used as a container for memory and instructions.
22 * first function (starting a block) must be a read-command, 23 * Implements a run method to execute the program (= the instructions).
23 * last must be a write-command (ending this block).
24 *
25 * read- and write-commands have hard coded parameters, number#1 being a filetype.
26 * Classes handling certain filetypes must be of type CFile.
27 * Custom functions will be passed to CFile::callFunc().
28 *
29 * On error ParserError will be thrown.
30 */ 24 */
31class CCPU 25class CCPU
32{ 26{
33 public: 27 public:
34
35
36 /** 28 /**
37 * @method CScriptparser 29 * @method CCPU
38 * @brief Default ctor 30 * @brief Default ctor
39 * @param scriptfile filename of script to parse 31 * @param cnt number of registers to allocate for this cpu
40 * @return - 32 * @return -
41 * @globalvars none 33 * @globalvars none
42 * @exception bad_alloc 34 * @exception none
43 * @conditions none 35 * @conditions none
44 */ 36 */
45 CCPU(const std::string& progfile, const std::string& memfile); 37 CCPU(const unsigned cnt);
38
46 /** 39 /**
47 * @method ~CScriptparser 40 * @method ~CCPU
48 * @brief Default dtor 41 * @brief Default dtor
49 * @param - 42 * @param -
50 * @return - 43 * @return -
@@ -54,21 +47,193 @@ class CCPU
54 */ 47 */
55 ~CCPU(); 48 ~CCPU();
56 49
50 /**
51 * @method getRegisterCount
52 * @brief get number of registers
53 * @param -
54 * @return number of registers
55 * @globalvars none
56 * @exception none
57 * @conditions none
58 */
59 const unsigned getRegisterCount() const
60 {
61 return m_regcnt;
62 }
63
64 /**
65 * @method getRegisters
66 * @brief get pointer to registers array
67 * @param -
68 * @return pointer to registers array
69 * @globalvars none
70 * @exception none
71 * @conditions none
72 */
73 CDat *getRegisters() const
74 {
75 return m_registers;
76 }
77
78 /**
79 * @method setMemory
80 * @brief set memory of cpu
81 * @param memory pointer to memory
82 * @return -
83 * @globalvars none
84 * @exception none
85 * @conditions none
86 */
87 void setMemory(CMem *memory)
88 {
89 m_memory = memory;
90 }
91
92 /**
93 * @method getMemory
94 * @brief get pointer to memory
95 * @param -
96 * @return pointer to memory
97 * @globalvars none
98 * @exception none
99 * @conditions none
100 */
101 CMem *getMemory() const
102 {
103 return m_memory;
104 }
105
106 /**
107 * @method setProgram
108 * @brief set program to execute
109 * @param program pointer to program
110 * @return -
111 * @globalvars none
112 * @exception none
113 * @conditions none
114 */
115 void setProgram(const CProgram *program)
116 {
117 m_program = program;
118 }
119
120 /**
121 * @method getProgram
122 * @brief get pointer to program
123 * @param -
124 * @return pointer to program
125 * @globalvars none
126 * @exception none
127 * @conditions none
128 */
129 const CProgram *getProgram()
130 {
131 return m_program;
132 }
133
134 /**
135 * @method getDisplays
136 * @brief get set of pointers to displays
137 * @param -
138 * @return reference to set of pointers to displays
139 * @globalvars none
140 * @exception none
141 * @conditions none
142 */
143 const std::set<CDisplay *>& getDisplays()
144 {
145 return m_displays;
146 }
57 147
58 void proceed(); 148 /**
59 149 * @method setFlagZero
150 * @brief set zero flag
151 * @param value new value of zero flag
152 * @return -
153 * @globalvars none
154 * @exception none
155 * @conditions none
156 */
157 void setFlagZero(const bool value)
158 {
159 m_flagzero = value;
160 }
161
162 /**
163 * @method getFlagZero
164 * @brief get value of zero flag
165 * @param -
166 * @return value of zero flag
167 * @globalvars none
168 * @exception none
169 * @conditions none
170 */
171 const bool getFlagZero()
172 {
173 return m_flagzero;
174 }
60 175
176 /**
177 * @method setFlagSign
178 * @brief set sign flag
179 * @param value new value of sign flag
180 * @return -
181 * @globalvars none
182 * @exception none
183 * @conditions none
184 */
185 void setFlagSign(const bool value)
186 {
187 m_flagsign = value;
188 }
189
190 /**
191 * @method getFlagSign
192 * @brief get value of sign flag
193 * @param -
194 * @return value of sign flag
195 * @globalvars none
196 * @exception none
197 * @conditions none
198 */
199 const bool getFlagSign()
200 {
201 return m_flagsign;
202 }
203
204 /**
205 * @method run
206 * @brief execute current program
207 * @param -
208 * @return -
209 * @globalvars none
210 * @exception std::runtime_error
211 * @conditions none
212 */
213 void run();
214
215#if DEBUG
216 /**
217 * @method dumpRegisters
218 * @brief dump content of registers to outputstream
219 * @param out outputstream to write to
220 * @return void
221 * @globalvars none
222 * @exception none
223 * @conditions none
224 */
225 void dumpRegisters(std::ostream& out);
226#endif
61 227
62 void execInstruction( CInstruction& instr, std::vector<std::string>& i_list);
63 private: 228 private:
64 /* members */ 229 /* members */
65 230 CDat *m_registers;
66 CProgram m_program; 231 unsigned m_regcnt;
67 CMem m_memory; 232 CMem *m_memory;
68 std::map<std::string, CInstruction *> m_instrHandler; 233 const CProgram *m_program;
69 bool f_zero, f_sign; 234 std::set<CDisplay *> m_displays;
70 // std::string m_memfiler; 235 bool m_flagzero;
71 236 bool m_flagsign;
72}; 237};
73 238
74#endif 239#endif
diff --git a/ue3/mycpu/cdat.h b/ue3/mycpu/cdat.h
index 3fda572..a533fae 100644
--- a/ue3/mycpu/cdat.h
+++ b/ue3/mycpu/cdat.h
@@ -1,12 +1,12 @@
1/** 1/**
2 * @module cdat 2 * @module cdat
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief Datatype template for mycpu 4 * @brief Datatype template and datatype definition for CCPU and CMem
5 * @date 10.05.2009 5 * @date 10.05.2009
6 */ 6 */
7 7
8#ifndef CDATT_H 8#ifndef CDAT_H
9#define CDATT_H 9#define CDAT_H 1
10 10
11#include <boost/operators.hpp> 11#include <boost/operators.hpp>
12#include <iostream> 12#include <iostream>
@@ -14,7 +14,7 @@
14/** 14/**
15 * @class CDatT 15 * @class CDatT
16 * 16 *
17 * Datatype template for mycpu. 17 * Datatype template for CCPU and CMem.
18 */ 18 */
19template <class T> 19template <class T>
20class CDatT 20class CDatT
@@ -72,7 +72,7 @@ class CDatT
72 {} 72 {}
73 73
74 /** 74 /**
75 * @method value 75 * @method getValue
76 * @brief returns value of CDatT 76 * @brief returns value of CDatT
77 * @param - 77 * @param -
78 * @return value of CDatT 78 * @return value of CDatT
@@ -80,7 +80,21 @@ class CDatT
80 * @exception none 80 * @exception none
81 * @conditions none 81 * @conditions none
82 */ 82 */
83 T value() const 83 T getValue() const
84 {
85 return m_value;
86 }
87
88 /**
89 * @method operator T
90 * @brief convert to T
91 * @param -
92 * @return T
93 * @globalvars none
94 * @exception none
95 * @conditions none
96 */
97 operator T()
84 { 98 {
85 return m_value; 99 return m_value;
86 } 100 }
@@ -88,7 +102,7 @@ class CDatT
88 /** 102 /**
89 * @method operator< 103 * @method operator<
90 * @brief implementation of operator < 104 * @brief implementation of operator <
91 * @param reference to CDatT 105 * @param x reference to CDatT
92 * @return true if cdat is less than object x 106 * @return true if cdat is less than object x
93 * @globalvars none 107 * @globalvars none
94 * @exception none 108 * @exception none
@@ -102,7 +116,7 @@ class CDatT
102 /** 116 /**
103 * @method operator== 117 * @method operator==
104 * @brief implementation of operator == 118 * @brief implementation of operator ==
105 * @param reference to CDatT 119 * @param x reference to CDatT
106 * @return true if cdat equals object x 120 * @return true if cdat equals object x
107 * @globalvars none 121 * @globalvars none
108 * @exception none 122 * @exception none
@@ -116,7 +130,7 @@ class CDatT
116 /** 130 /**
117 * @method operator+= 131 * @method operator+=
118 * @brief implementation of operator += 132 * @brief implementation of operator +=
119 * @param reference to CDatT 133 * @param x reference to CDatT
120 * @return refecence to CDatT 134 * @return refecence to CDatT
121 * @globalvars none 135 * @globalvars none
122 * @exception none 136 * @exception none
@@ -131,7 +145,7 @@ class CDatT
131 /** 145 /**
132 * @method operator-= 146 * @method operator-=
133 * @brief implementation of operator -= 147 * @brief implementation of operator -=
134 * @param reference to CDatT 148 * @param x reference to CDatT
135 * @return refecence to CDatT 149 * @return refecence to CDatT
136 * @globalvars none 150 * @globalvars none
137 * @exception none 151 * @exception none
@@ -146,7 +160,7 @@ class CDatT
146 /** 160 /**
147 * @method operator*= 161 * @method operator*=
148 * @brief implementation of operator *= 162 * @brief implementation of operator *=
149 * @param reference to CDatT 163 * @param x reference to CDatT
150 * @return refecence to CDatT 164 * @return refecence to CDatT
151 * @globalvars none 165 * @globalvars none
152 * @exception none 166 * @exception none
@@ -161,7 +175,7 @@ class CDatT
161 /** 175 /**
162 * @method operator/= 176 * @method operator/=
163 * @brief implementation of operator /= 177 * @brief implementation of operator /=
164 * @param reference to CDatT 178 * @param x reference to CDatT
165 * @return refecence to CDatT 179 * @return refecence to CDatT
166 * @globalvars none 180 * @globalvars none
167 * @exception none 181 * @exception none
@@ -176,7 +190,7 @@ class CDatT
176 /** 190 /**
177 * @method operator%= 191 * @method operator%=
178 * @brief implementation of operator %= 192 * @brief implementation of operator %=
179 * @param reference to CDatT 193 * @param x reference to CDatT
180 * @return refecence to CDatT 194 * @return refecence to CDatT
181 * @globalvars none 195 * @globalvars none
182 * @exception none 196 * @exception none
@@ -191,7 +205,7 @@ class CDatT
191 /** 205 /**
192 * @method operator|= 206 * @method operator|=
193 * @brief implementation of operator |= 207 * @brief implementation of operator |=
194 * @param reference to CDatT 208 * @param x reference to CDatT
195 * @return refecence to CDatT 209 * @return refecence to CDatT
196 * @globalvars none 210 * @globalvars none
197 * @exception none 211 * @exception none
@@ -206,7 +220,7 @@ class CDatT
206 /** 220 /**
207 * @method operator&= 221 * @method operator&=
208 * @brief implementation of operator &= 222 * @brief implementation of operator &=
209 * @param reference to CDatT 223 * @param x reference to CDatT
210 * @return refecence to CDatT 224 * @return refecence to CDatT
211 * @globalvars none 225 * @globalvars none
212 * @exception none 226 * @exception none
@@ -221,7 +235,7 @@ class CDatT
221 /** 235 /**
222 * @method operator^= 236 * @method operator^=
223 * @brief implementation of operator ^= 237 * @brief implementation of operator ^=
224 * @param reference to CDatT 238 * @param x reference to CDatT
225 * @return refecence to CDatT 239 * @return refecence to CDatT
226 * @globalvars none 240 * @globalvars none
227 * @exception none 241 * @exception none
@@ -295,27 +309,16 @@ class CDatT
295 return stream; 309 return stream;
296 } 310 }
297 311
298 /**
299 * @method getTypeValue
300 * @brief returns value as type T
301 * @param -
302 * @return m_value
303 * @globalvars none
304 * @exception none
305 * @conditions none
306 */
307 T& getTypeValue()
308 {
309 return m_value;
310 }
311
312 private: 312 private:
313 /* members */ 313 /* members */
314 T m_value; 314 T m_value;
315}; 315};
316 316
317 317/**
318/** define CDat */ 318 * @class CDat
319 *
320 * Datatype for CCPU and CMem
321 */
319typedef CDatT<int> CDat; 322typedef CDatT<int> CDat;
320 323
321#endif 324#endif
diff --git a/ue3/mycpu/cdisplay.h b/ue3/mycpu/cdisplay.h
new file mode 100644
index 0000000..82776ee
--- /dev/null
+++ b/ue3/mycpu/cdisplay.h
@@ -0,0 +1,85 @@
1/**
2 * @module cdisplay
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief Abstract template class for displays
5 * @date 10.05.2009
6 */
7
8#ifndef CDISPLAY_H
9#define CDISPLAY_H 1
10
11/**
12 * @class CDisplayT
13 *
14 * Abstract template class for displays
15 */
16template <class T>
17class CDisplayT
18{
19 public:
20 /**
21 * @method CDisplayT
22 * @brief Default ctor
23 * @param name name of display
24 * @return -
25 * @globalvars none
26 * @exception none
27 * @conditions none
28 */
29 CDisplayT(std::string name)
30 : m_name(name)
31 {}
32
33 /**
34 * @method ~CDisplayT
35 * @brief Default dtor
36 * @param -
37 * @return -
38 * @globalvars none
39 * @exception none
40 * @conditions none
41 */
42 virtual ~CDisplayT()
43 {}
44
45 /**
46 * @method getName
47 * @brief returns name of display
48 * @param -
49 * @return name of display
50 * @globalvars none
51 * @exception none
52 * @conditions none
53 */
54 virtual const std::string& getName()
55 {
56 return m_name;
57 }
58
59 /**
60 * @method display
61 * @brief prints value to display
62 * @param value value to display
63 * @return -
64 * @globalvars none
65 * @exception none
66 * @conditions none
67 */
68 virtual void display(const T &value) = 0;
69
70 protected:
71 /* members */
72 /** name of display */
73 std::string m_name;
74};
75
76/**
77 * @class CDisplay
78 *
79 * Memory definition for CCPU
80 */
81typedef CDisplayT<CDat> CDisplay;
82
83#endif
84
85/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/cinstruction.cpp b/ue3/mycpu/cinstruction.cpp
index 12c5c74..a766015 100644
--- a/ue3/mycpu/cinstruction.cpp
+++ b/ue3/mycpu/cinstruction.cpp
@@ -1,110 +1,48 @@
1#include <iostream> 1/**
2 * @module cinstruction
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief Abstract class for displays
5 * @date 13.05.2009
6 */
7
2#include <sstream> 8#include <sstream>
3#include <vector> 9#include <stdexcept>
4#include <map> 10#include <boost/lexical_cast.hpp>
11#include <assert.h>
5#include "cinstruction.h" 12#include "cinstruction.h"
6#include "cmem.h" 13#include "ccpu.h"
7using namespace std;
8
9void CInc::exec(CMem& mem, vector<string>& instr)
10{
11 mem.getRegister(instr[1])++;
12}
13
14
15void CDec::exec(CMem& mem, vector<string>& instr)
16{
17 mem.getRegister(instr[1])--;
18}
19
20
21void CAdd::exec(CMem& mem, vector<string>& instr)
22{
23 mem.getRegister(instr[1]) = mem.getRegister(instr[2]) +
24 mem.getRegister(instr[3]);
25}
26
27
28void CSub::exec(CMem& mem, vector<string>& instr)
29{
30 mem.getRegister(instr[1]) = mem.getRegister(instr[2]) -
31 mem.getRegister(instr[3]);
32
33}
34
35
36void CMul::exec(CMem& mem, vector<string>& instr)
37{
38 mem.getRegister(instr[1]) = mem.getRegister(instr[2]) *
39 mem.getRegister(instr[3]);
40}
41
42
43void CDiv::exec(CMem& mem, vector<string>& instr)
44{
45 mem.getRegister(instr[1]) = mem.getRegister(instr[2]) /
46 mem.getRegister(instr[3]);
47}
48
49
50void CLoad::exec(CMem& mem, vector<string>& instr)
51{
52 istringstream stmp (mem.getMemAt(instr[2]));
53 stmp >> mem.getRegister(instr[1]);
54
55}
56
57
58void CStore::exec(CMem& mem, vector<string>& instr)
59{
60 mem.setMemAt(instr[2], mem.getRegister(instr[1]));
61}
62
63
64void CTest::exec(CMem& mem, vector<string>& instr)
65{
66 if(mem.getRegister(instr[1]) == 0)
67 f_zero = true;
68 else
69 f_zero = false;
70
71 if(mem.getRegister(instr[1]) < 0)
72 f_sign = true;
73 else
74 f_sign = false;
75
76}
77
78
79
80
81
82void CJumpa::exec(CMem& mem, vector<string>& instr)
83{
84 mem.getRegister("R0") = (int) m_jumpaddr[instr[1]];
85}
86 14
15using namespace std;
87 16
88void CJumpz::exec(CMem& mem, vector<string>& instr) 17const unsigned CInstruction::parseRegister(const std::string& str)
89{ 18{
90 if(f_zero) 19 unsigned reg;
91 mem.getRegister("R0") = (int) m_jumpaddr[instr[1]]; 20 if (str.length() < 2 || str[0] != 'r')
92} 21 throw runtime_error("Invalid syntax of register");
93 22
23 try
24 {
25 reg = boost::lexical_cast<unsigned>(str.substr(1));
26 }
27 catch(boost::bad_lexical_cast& ex)
28 {
29 throw runtime_error("Invalid syntax of register");
30 }
94 31
95void CJumps::exec(CMem& mem, vector<string>& instr) 32 return reg;
96{
97 if(f_sign)
98 mem.getRegister("R0") = (int) m_jumpaddr[instr[1]];
99} 33}
100 34
35/*----------------------------------------------------------------------------*/
101 36
102void CWrite::exec(CMem& mem, vector<string>& instr) 37inline void CInstruction::checkRegister(CCPU *cpu, const unsigned regidx)
103{ 38{
104 39 assert(cpu != NULL);
105 if(instr[1] == "WDEZ") 40 if (regidx >= cpu->getRegisterCount())
106 cout << mem.getRegister(instr[2]) << endl; 41 {
107 else if (instr[1] == "WHEX") 42 stringstream sstr;
108 cout << hex << mem.getRegister(instr[2]) << endl; 43 sstr << "Register R" << regidx << " doesn't exist (out of bound)";
44 throw runtime_error(sstr.str());
45 }
109} 46}
110 47
48/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/cinstruction.h b/ue3/mycpu/cinstruction.h
index 7d929a5..4cc69de 100644
--- a/ue3/mycpu/cinstruction.h
+++ b/ue3/mycpu/cinstruction.h
@@ -1,39 +1,38 @@
1/** 1/**
2 * @module cinstruction 2 * @module cinstruction
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief abstract class cpu instructions 4 * @brief Abstract class for displays
5 * @date 17.04.2009 5 * @date 13.05.2009
6 */ 6 */
7 7
8#ifndef CINSTRUCTION_H 8#ifndef CINSTRUCTION_H
9#define CINSTRUCTION_H 9#define CINSTRUCTION_H 1
10#include <map>
11#include <vector>
12#include "cmem.h"
13 10
11#include <iostream>
12#include <list>
13
14/* forward declare CCPU */
15class CCPU;
14 16
15
16/** 17/**
17 * @class CInstruction 18 * @class CInstruction
18 * 19 *
19 * Parses a simple line based scriptfile with some limitations: 20 * Abstract class for displays
20 * first function (starting a block) must be a read-command,
21 * last must be a write-command (ending this block).
22 *
23 * read- and write-commands have hard coded parameters, number#1 being a filetype.
24 * Classes handling certain filetypes must be of type CFile.
25 * Custom functions will be passed to CFile::callFunc().
26 *
27 * On error ParserError will be thrown.
28 */ 21 */
29class CInstruction 22class CInstruction
30{ 23{
31 public: 24 public:
32 25 /**
33 CInstruction() 26 * @method CInstruction
34 {} 27 * @brief Default ctor
35 CInstruction(std::map<std::string, unsigned int>& jumpaddr) 28 * @param name name of instruction
36 : m_jumpaddr(jumpaddr) 29 * @return -
30 * @globalvars none
31 * @exception none
32 * @conditions none
33 */
34 CInstruction(std::string name)
35 : m_name(name)
37 {} 36 {}
38 37
39 /** 38 /**
@@ -47,157 +46,144 @@ class CInstruction
47 */ 46 */
48 virtual ~CInstruction() 47 virtual ~CInstruction()
49 {} 48 {}
50
51
52 virtual void exec(CMem& mem, std::vector<std::string>& instr) = 0;
53
54 protected:
55 std::map<std::string, unsigned int> m_jumpaddr;
56
57
58};
59
60
61
62
63class CFlagInstruction : public CInstruction
64{
65 public:
66 public:
67 CFlagInstruction(bool& zero, bool& sign)
68 : f_zero(zero), f_sign(sign)
69 {}
70 CFlagInstruction(bool& zero, bool& sign, std::map<std::string, unsigned int>& jumpaddr)
71 : CInstruction::CInstruction(jumpaddr), f_zero(zero), f_sign(sign)
72 {}
73 virtual void exec(CMem& mem, std::vector<std::string>& instr) = 0;
74
75 protected:
76 bool &f_zero, &f_sign;
77
78};
79
80
81
82class CInc : public CInstruction
83{
84 public:
85 void exec(CMem& mem, std::vector<std::string>& instr);
86};
87
88
89class CDec : public CInstruction
90{
91 public:
92 void exec(CMem& mem, std::vector<std::string>& instr);
93};
94
95
96
97class CAdd : public CInstruction
98{
99 public:
100 void exec(CMem& mem, std::vector<std::string>& instr);
101};
102
103
104
105class CSub : public CInstruction
106{
107 public:
108 void exec(CMem& mem, std::vector<std::string>& instr);
109};
110
111
112
113class CMul : public CInstruction
114{
115 public:
116 void exec(CMem& mem, std::vector<std::string>& instr);
117};
118
119
120
121class CDiv : public CInstruction
122{
123 public:
124 void exec(CMem& mem, std::vector<std::string>& instr);
125};
126
127
128
129class CLoad : public CInstruction
130{
131 public:
132 void exec(CMem& mem, std::vector<std::string>& instr);
133};
134
135
136
137class CStore : public CInstruction
138{
139 public:
140 void exec(CMem& mem, std::vector<std::string>& instr);
141};
142
143class CTest : public CFlagInstruction
144{
145 public:
146 CTest(bool& zero, bool& sign)
147 : CFlagInstruction::CFlagInstruction(zero, sign)
148 {}
149
150 void exec(CMem& mem, std::vector<std::string>& instr);
151};
152 49
50 /**
51 * @method operator==
52 * @brief implementation of operator ==
53 * @param name reference to std::string
54 * @return true if instructionname is name
55 * @globalvars none
56 * @exception none
57 * @conditions none
58 */
59 virtual bool operator==(std::string& name)
60 {
61 return name == m_name;
62 }
153 63
154class CLabel : public CInstruction 64 /**
155{ 65 * @method operator()
156 public: 66 * @brief implementation of operator (CCPU)
157 void exec(CMem& mem, std::vector<std::string>& instr) 67 * @param cpu pointer to cpu
158 {} 68 * @return -
159 69 * @globalvars none
160}; 70 * @exception std::runtime_error
161 71 * @conditions none
72 */
73 virtual CInstruction& operator()(CCPU *cpu)
74 {
75 execute(cpu);
76 return *this;
77 }
162 78
163class CJumpa : public CInstruction 79 /**
164{ 80 * @method getName
165 public: 81 * @brief returns instruction name
166 CJumpa(std::map<std::string, unsigned int>& jumpaddr) 82 * @param -
167 : CInstruction::CInstruction(jumpaddr) 83 * @return name of instruction
168 {} 84 * @globalvars none
169 void exec(CMem& mem, std::vector<std::string>& instr); 85 * @exception none
86 * @conditions none
87 */
88 virtual const std::string& getName()
89 {
90 return m_name;
91 }
170 92
171}; 93 /**
94 * @method dump
95 * @brief dumps information about instruction to outputstream
96 * @param stream outputstream
97 * @return reference to outputstream
98 * @globalvars none
99 * @exception none
100 * @conditions none
101 */
102 virtual std::ostream& dump(std::ostream& stream)
103 {
104 stream << m_name;
105 return stream;
106 }
172 107
108 /**
109 * @method operator<<
110 * @brief Shift/output operator for outputstream
111 * @param stream reference to outputstream
112 * @param instr object which will be printed to stream
113 * @return reference to outputstream
114 * @globalvars none
115 * @exception none
116 * @conditions none
117 */
118 friend std::ostream& operator<<(std::ostream& stream, CInstruction& instr)
119 {
120 return instr.dump(stream);
121 }
173 122
174class CJumpz : public CFlagInstruction 123 /**
175{ 124 * @method parseRegister
176 125 * @brief parses register syntax Rx (e.g. "R1")
177 public: 126 * @param str register in assembler syntax
178 CJumpz(bool& zero, bool& sign, std::map<std::string, unsigned int>& jumpaddr) 127 * @return registernumber
179 : CFlagInstruction::CFlagInstruction(zero, sign, jumpaddr) 128 * @globalvars none
180 {} 129 * @exception std::runtime_error
181 void exec(CMem& mem, std::vector<std::string>& instr); 130 * @conditions none
182}; 131 */
132 virtual const unsigned parseRegister(const std::string& str);
183 133
134 /**
135 * @method checkRegister
136 * @brief performs a register boundary check
137 * does the register exist in cpu?
138 * @param cpu pointer to cpu
139 * @param regidx registernumber
140 * @return -
141 * @globalvars none
142 * @exception std::runtime_error
143 * @conditions none
144 */
145 virtual void checkRegister(CCPU *cpu, const unsigned regidx);
184 146
185class CJumps : public CFlagInstruction 147 /**
186{ 148 * @method factory
187 public: 149 * @brief creates a new instance of this instruction
188 CJumps(bool& zero ,bool& sign, std::map<std::string, unsigned int>& jumpaddr) 150 * @param -
189 : CFlagInstruction::CFlagInstruction(zero, sign, jumpaddr) 151 * @return new instruction instance
190 {} 152 * @globalvars none
191 void exec(CMem& mem, std::vector<std::string>& instr); 153 * @exception none
192}; 154 * @conditions none
155 */
156 virtual CInstruction *factory() = 0;
193 157
158 /**
159 * @method compile
160 * @brief parses instruction parameters and prepares the
161 * instruction for executing
162 * @param params list of parameters of this instruction
163 * @return -
164 * @globalvars none
165 * @exception std::runtime_error
166 * @conditions none
167 */
168 virtual void compile(std::list<std::string>& params) = 0;
194 169
170 /**
171 * @method execute
172 * @brief executes the instruction
173 * @param cpu pointer to cpu
174 * @return -
175 * @globalvars none
176 * @exception std::runtime_error
177 * @conditions none
178 */
179 virtual void execute(CCPU *cpu) = 0;
195 180
196class CWrite : public CInstruction 181 protected:
197{ 182 /* members */
198 public: 183 /** name of instruction */
199 void exec(CMem& mem, std::vector<std::string>& instr); 184 std::string m_name;
200}; 185};
201 186
202#endif 187#endif
188
203/* vim: set et sw=2 ts=2: */ 189/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/cmem.cpp b/ue3/mycpu/cmem.cpp
deleted file mode 100644
index 165747b..0000000
--- a/ue3/mycpu/cmem.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
1/**
2 * @module cprogram
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief class for parsing and saving a program
5 * @date 11.05.2009
6 */
7
8#include <fstream>
9#include <sstream>
10#include <string>
11#include <boost/tokenizer.hpp>
12#include <boost/algorithm/string.hpp>
13#include "cdat.h"
14#include "cmem.h"
15
16
17
18using namespace std;
19using namespace boost;
20
21CMem::CMem(const std::string& memfile) :
22 m_memfile(memfile)
23{
24
25 dump(std::cout);
26
27}
28
29/*----------------------------------------------------------------------------*/
30
31CMem::~CMem()
32{
33
34}
35
36/*----------------------------------------------------------------------------*/
37
38CDat& CMem::getRegister(const string reg)
39{
40
41 unsigned int regnr = getRegNr(reg);
42
43 // if (regnr >= MAX_REGISTER )
44
45 if (regnr >= m_registers.size())
46 {
47 for ( int i = m_registers.size(); i <= (int)regnr; i++)
48 m_registers.push_back(CDat((int)0));
49 return m_registers[m_registers.size() - 1];
50 }
51
52 return m_registers[regnr];
53}
54
55/*----------------------------------------------------------------------------*/
56
57string CMem::getMemAt(const std::string addr)
58{
59 int pos = getRegister(addr).getTypeValue();
60 /* open and read mem */
61 ifstream file(m_memfile.c_str(), ios::in);
62 string cur_line;
63 for (int i = 0; i <= pos; i++)
64 getline(file, cur_line);
65
66 file.close();
67 if (cur_line.empty())
68 return "";
69 trim(cur_line);
70 return cur_line;
71}
72void CMem::setMemAt(const std::string addr, const CDat& value)
73{
74 unsigned int pos = getRegister(addr).getTypeValue();
75 /* open and read mem */
76 ifstream ifile(m_memfile.c_str() );
77 vector<string> tmp;
78 unsigned int i = 0;
79 while (ifile.good())
80 {
81 string cur_line;
82 getline(ifile, cur_line);
83 if(!cur_line.empty())
84 tmp.push_back(cur_line);
85 i++;
86 }
87 ifile.close();
88 cout << tmp.size()<<"sasa"<<pos<<" "<<endl;
89
90 ofstream ofile(m_memfile.c_str(), fstream::trunc);
91 i = 0;
92 while (ofile.good() && i < tmp.size())
93 {
94 if (i != pos)
95 ofile << tmp[i] << endl;
96 else
97 ofile << value << endl;
98 cout << tmp[i]<< endl;
99 i++;
100 }
101 ofile.close();
102}
103/*----------------------------------------------------------------------------*/
104
105unsigned int CMem::getRegNr(const std::string reg)
106{
107 istringstream stmp (
108 reg.substr(reg.find_first_of("R") + 1, reg.size())
109 );
110
111 unsigned int regnr;
112 stmp >> regnr;
113 return regnr;
114}
115
116/*----------------------------------------------------------------------------*/
117
118#ifdef DEBUG
119void CMem::dump(std::ostream& out)
120{
121 out << endl << "Memory file:" << endl << m_memfile << endl;
122 out << endl << "Memory file content:" << endl;
123}
124#endif
diff --git a/ue3/mycpu/cmem.h b/ue3/mycpu/cmem.h
index 356c9c0..5045c34 100644
--- a/ue3/mycpu/cmem.h
+++ b/ue3/mycpu/cmem.h
@@ -1,92 +1,109 @@
1/** 1/**
2 * @module cmem 2 * @module cmem
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief class for providing 256 registers. 4 * @brief Memory template and memory definition for CCPU
5 * @date 11.05.2009 5 * @date 10.05.2009
6 */ 6 */
7 7
8#ifndef CMEM_H 8#ifndef CMEM_H
9#define CMEM_H 9#define CMEM_H 1
10 10
11#include <vector>
12#include <istream>
13#include <sstream>
11#include <stdexcept> 14#include <stdexcept>
12#include <string> 15#include <boost/lexical_cast.hpp>
13
14#include <set>
15#ifdef DEBUG 16#ifdef DEBUG
16# include <iostream> 17# include <iostream>
18# include <iomanip>
17#endif 19#endif
18 #include "cdat.h" 20#include "cdat.h"
19
20 21
21#define MAX_REGISTER 256;
22/** 22/**
23 * @class CMem 23 * @class CVectorMem
24 * 24 *
25 * Parses a simple line based scriptfile with some limitations: 25 * Extends std::vector template for use as memory for CCPU.
26 * first function (starting a block) must be a read-command,
27 * last must be a write-command (ending this block).
28 *
29 * read- and write-commands have hard coded parameters, number#1 being a filetype.
30 * Classes handling certain filetypes must be of type CFile.
31 * Custom functions will be passed to CFile::callFunc().
32 *
33 * On error ParserError will be thrown.
34 */ 26 */
35class CMem 27template <class T, class Allocator=std::allocator<T> >
28class CVectorMem
29 : public std::vector<T, Allocator>
36{ 30{
37 public: 31 public:
32 using std::vector<T, Allocator>::size;
33 using std::vector<T, Allocator>::at;
38 34
39 /** 35 /**
40 * @method CMem 36 * @method initialize
41 * @brief Default ctor 37 * @brief initialize the vector with the content of istream. istream is
42 * @param memoryfile filename 38 * read per line. empty lines will add unitialized elements.
43 * @return - 39 * @param in inputstream to read from
40 * @return void
44 * @globalvars none 41 * @globalvars none
45 * @exception bad_alloc 42 * @exception std::runtime_error
46 * @conditions none 43 * @conditions none
47 */ 44 */
48 CMem(const std::string& memfile); 45 void initialize(std::istream& in)
46 {
47 if (!in.good())
48 return;
49
50 std::string line;
51 unsigned i = 0;
52 while (!in.eof() && in.good())
53 {
54 ++i;
55 std::getline(in, line);
49 56
57 /* skip last line if it's empty */
58 if (line.empty() && in.eof())
59 break;
60
61 T value;
62 try
63 {
64 if (!line.empty())
65 value = boost::lexical_cast<T>(line);
66 }
67 catch(boost::bad_lexical_cast& ex)
68 {
69 std::stringstream sstr;
70 sstr << "Unable to convert input (line " << i << "): " << ex.what();
71 throw std::runtime_error(sstr.str());
72 }
73
74 push_back(value);
75 }
76 }
77
78#if DEBUG
50 /** 79 /**
51 * @method ~CMem 80 * @method dump
52 * @brief Default dtor 81 * @brief dumps contents of vector to outputstream
53 * @param - 82 * @param out outputstream to write to
54 * @return - 83 * @return void
55 * @globalvars none 84 * @globalvars none
56 * @exception none 85 * @exception none
57 * @conditions none 86 * @conditions none
58 */ 87 */
59 ~CMem(); 88 void dump(std::ostream& out)
60 89 {
61 CDat& getRegister(const std::string reg); 90 out << "[MEMORY DUMP]" << std::endl;
62 91 for(unsigned i = 0; i < size(); ++i)
63 std::string getMemAt(const std::string addr); 92 {
64 93 out << "[" << std::setw(4) << std::setfill('0') << i << "] "
65 void setMemAt(const std::string addr, const CDat& value); 94 << at(i) << std::endl;
66 95 }
67#ifdef DEBUG 96 }
68 /**
69 * @method dump
70 * @brief Dumps the resgister contnent to ostream
71 * @param out output stream
72 * @return -
73 * @globalvars
74 * @exception
75 * @conditions
76 */
77 void dump(std::ostream& out);
78#endif 97#endif
79
80
81 private:
82
83 unsigned int getRegNr(const std::string reg);
84
85 /* members */
86 std::string m_memfile;
87 std::vector<CDat> m_registers;
88}; 98};
89 99
100/**
101 * @class CMem
102 *
103 * Memory definition for CCPU
104 */
105typedef CVectorMem<CDat> CMem;
106
90#endif 107#endif
91 108
92/* vim: set et sw=2 ts=2: */ 109/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/cprogram.cpp b/ue3/mycpu/cprogram.cpp
index 9297b6e..3fcf734 100644
--- a/ue3/mycpu/cprogram.cpp
+++ b/ue3/mycpu/cprogram.cpp
@@ -1,109 +1,161 @@
1/** 1/**
2 * @module cprogram 2 * @module cprogram
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief class for parsing and saving a program 4 * @brief CProgram extends std::vector and adds a method for parsing programfile
5 * @date 11.05.2009 5 * @date 12.05.2009
6 */ 6 */
7 7
8#include <fstream>
9#include <vector>
10#include <string>
11#include <boost/tokenizer.hpp>
12#include <boost/algorithm/string.hpp> 8#include <boost/algorithm/string.hpp>
13#include <boost/algorithm/string/split.hpp> 9#include <boost/algorithm/string/split.hpp>
10#ifdef DEBUG
11# include <iostream>
12# include <iomanip>
13#endif
14#include "cprogram.h" 14#include "cprogram.h"
15 15#include "instructions.h"
16
17 16
18using namespace std; 17using namespace std;
19using namespace boost;
20 18
21CProgram::CProgram(const std::string& progfile) : 19CProgram::CProgram()
22 m_programfile(progfile)
23{ 20{
24 parse(); 21 m_instrset.insert(new CInstructionInc);
25 dump(std::cout); 22 m_instrset.insert(new CInstructionDec);
26 23 m_instrset.insert(new CInstructionAdd);
24 m_instrset.insert(new CInstructionSub);
25 m_instrset.insert(new CInstructionMul);
26 m_instrset.insert(new CInstructionDiv);
27 m_instrset.insert(new CInstructionLoad);
28 m_instrset.insert(new CInstructionStore);
29 m_instrset.insert(new CInstructionTest);
30 m_instrset.insert(new CInstructionLabel);
31 m_instrset.insert(new CInstructionJumpA);
32 m_instrset.insert(new CInstructionJumpZ);
33 m_instrset.insert(new CInstructionJumpS);
34 m_instrset.insert(new CInstructionWrite);
27} 35}
28 36
29/*----------------------------------------------------------------------------*/ 37/*----------------------------------------------------------------------------*/
30 38
31CProgram::~CProgram() 39CProgram::~CProgram()
32{ 40{
33 41 /* free instruction set */
42 set<CInstruction *>::iterator it;
43 for (it = m_instrset.begin(); it != m_instrset.end(); ++it)
44 delete *it;
45
46 /* free instruction */
47 for (iterator it = begin(); it != end(); ++it)
48 delete *it;
34} 49}
35 50
36
37
38/*----------------------------------------------------------------------------*/ 51/*----------------------------------------------------------------------------*/
39 52
40void CProgram::parse() 53void CProgram::compile(std::istream& in)
41{ 54{
42 /* open and read file */ 55 if (!in.good())
43 ifstream file(m_programfile.c_str(), ios::in); 56 return;
44 // if (!file) 57
45 // throw ParserError("Unable to open scriptfile '" + m_scriptfile + "'."); 58 string line;
46 59 unsigned i = 0;
47 int cur_line_nr = 0; 60 while (!in.eof() && in.good())
48
49 while (!file.eof() && file.good())
50 { 61 {
51 string cur_line; 62 ++i;
52 63
53 /* read file per line */ 64 /* read stream per line */
54 getline(file, cur_line); 65 getline(in, line);
55 if (cur_line.empty()) 66 if (line.empty())
56 continue; 67 continue;
57 68
58 trim(cur_line); 69 boost::trim(line);
70 boost::to_lower(line);
59 71
60 /* ignore comments */ 72 /* ignore comments */
61 if (cur_line.find_first_of('#') == 0) 73 if (line.find_first_of('#') == 0)
62 continue; 74 continue;
63 75
64 /*remove commas from current line */ 76 /* get instruction name */
65 unsigned int pos; 77 size_t pos = line.find_first_of(' ');
66 while (( pos = cur_line.find_first_of(",") ) != string::npos) 78 string instrname(line.substr(0, pos));
67 cur_line.erase(pos, 1); 79
68 80 /* search and create instruction */
69 /* add source line*/ 81 CInstruction *instrptr = NULL;
70 m_progsource.push_back(vector<string>()); 82 set<CInstruction *>::iterator it;
71 algorithm::split( m_progsource.back(), cur_line, is_any_of(" \t")); 83 for (it = m_instrset.begin(); it != m_instrset.end(); ++it)
72 84 {
73 /* jump addr as line number */ 85 if (*(*it) == instrname)
74 if(m_progsource[cur_line_nr][0] == "label") 86 {
75 { 87 instrptr = *it;
76 int size = m_progsource[cur_line_nr][01].size() - 1; 88 break;
77 string label(m_progsource[cur_line_nr][01].substr(0, size)); 89 }
78 m_jumpaddr[label] = cur_line_nr; 90 }
79 } 91 if (instrptr == NULL)
80 92 {
81 cur_line_nr++; 93 stringstream sstr;
94 sstr << "Unknown instruction '" << instrname << "' on line " << i << ".";
95 throw runtime_error(sstr.str());
96 }
97
98 /* create instruction */
99 CInstruction *instr = instrptr->factory();
100
101 /* parse instruction parameters */
102 string params = (pos == string::npos) ? "" : line.substr(pos + 1);
103 boost::trim(params);
104 list<string> instrparams;
105 boost::split(instrparams, params, boost::is_any_of(", \t"), boost::token_compress_on);
106
107 /* let instruction parse the parameters. catch+throw exception */
108 try
109 {
110 /* handle label instruction ourself, but still add a dummy instruction */
111 if (instrname == "label")
112 {
113 if (instrparams.size() != 1)
114 throw runtime_error("Invalid paramater count - must be 1");
115 string label(instrparams.front());
116 if (label.length() < 2 || label[ label.length() - 1] != ':')
117 throw runtime_error("Label has invalid syntax");
118 m_labels[ label.substr(0, label.length() - 1) ] = size();
119 }
120 instr->compile(instrparams);
121 }
122 catch(runtime_error& ex)
123 {
124 stringstream sstr;
125 sstr << "Unable to compile instruction '" << instrname
126 << "' (line " << i << "): " << ex.what();
127 throw runtime_error(sstr.str());
128 }
129
130 push_back(instr);
82 } 131 }
83 file.close(); 132}
133
134/*----------------------------------------------------------------------------*/
84 135
136unsigned CProgram::findLabel(const std::string& label) const
137{
138 map<string, unsigned>::const_iterator it;
139 it = m_labels.find(label);
140 if (it == m_labels.end())
141 throw runtime_error("Unknown label '" + label + "'");
142 return it->second;
85} 143}
86 144
87/*----------------------------------------------------------------------------*/ 145/*----------------------------------------------------------------------------*/
88 146
89#ifdef DEBUG 147#if DEBUG
90void CProgram::dump(std::ostream& out) 148void CProgram::dump(std::ostream& out)
91{ 149{
92 150 out << "[PROGRAM DUMP]" << endl;
93 out << endl << "Program file:" << endl << m_programfile << endl; 151 unsigned i = 0;
94 152 for(iterator it = begin(); it < end(); ++it)
95 out << endl << "Program source:" << endl;
96 for (int i = 0; i < (int) m_progsource.size();i++)
97 { 153 {
98 for(int x = 0; x < (int) m_progsource[i].size();x++) 154 out << "[" << std::setw(4) << std::setfill('0') << i << "] "
99 out << m_progsource[i][x] << " "; 155 << *(*it) << endl;
100 out << std::endl; 156 ++i;
101 } 157 }
102
103 out << endl << "Jump addresses:" << endl;
104 map<string, unsigned int>::iterator it;
105 for (it = m_jumpaddr.begin(); it != m_jumpaddr.end(); it++)
106 out << (*it).first << " " << (*it).second << endl;
107
108} 158}
109#endif 159#endif
160
161/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/cprogram.h b/ue3/mycpu/cprogram.h
index 25d0ce2..27e7647 100644
--- a/ue3/mycpu/cprogram.h
+++ b/ue3/mycpu/cprogram.h
@@ -1,51 +1,41 @@
1/** 1/**
2 * @module cprogram 2 * @module cprogram
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief class for parsing and saving the program instuctions. 4 * @brief CProgram extends std::vector and adds a method for parsing programfile
5 * @date 17.04.2009 5 * @date 10.05.2009
6 */ 6 */
7 7
8#ifndef CPROGRAM_H 8#ifndef CPROGRAM_H
9#define CPROGRAM_H 9#define CPROGRAM_H 1
10 10
11#include <stdexcept>
12#include <string>
13#include <vector> 11#include <vector>
12#include <set>
14#include <map> 13#include <map>
15#ifdef DEBUG 14#include "cinstruction.h"
16# include <iostream> 15
17#endif
18#include "cdat.h"
19/** 16/**
20 * @class CProgram 17 * @class CProgram
21 * 18 *
22 * Parses a simple line based scriptfile with some limitations: 19 * CProgram extends std::vector and adds a method for parsing
23 * first function (starting a block) must be a read-command, 20 * programfile. This adds instances of CInstruction to CProgram itself.
24 * last must be a write-command (ending this block).
25 *
26 * read- and write-commands have hard coded parameters, number#1 being a filetype.
27 * Classes handling certain filetypes must be of type CFile.
28 * Custom functions will be passed to CFile::callFunc().
29 *
30 * On error ParserError will be thrown.
31 */ 21 */
32class CProgram 22class CProgram
23 : public std::vector<CInstruction *>
33{ 24{
34 public: 25 public:
35
36 /** 26 /**
37 * @method CProgram 27 * @method CProgram
38 * @brief Default ctor 28 * @brief Default ctor
39 * @param programfile filename 29 * @param -
40 * @return - 30 * @return -
41 * @globalvars none 31 * @globalvars none
42 * @exception bad_alloc 32 * @exception none
43 * @conditions none 33 * @conditions none
44 */ 34 */
45 CProgram(const std::string& progfile); 35 CProgram();
46 36
47 /** 37 /**
48 * @method ~CScriptparser 38 * @method ~CProgram
49 * @brief Default dtor 39 * @brief Default dtor
50 * @param - 40 * @param -
51 * @return - 41 * @return -
@@ -55,50 +45,60 @@ class CProgram
55 */ 45 */
56 ~CProgram(); 46 ~CProgram();
57 47
58 CDat getMaxProgramCount() 48 /**
59 { 49 * @method getLabels
60 return CDat(m_progsource.size()); 50 * @brief get reference to labels map
61 } 51 * @param -
62 52 * @return reference to labels map
63 std::vector<std::string>& getInstruction(CDat linenr) 53 * @globalvars none
64 { 54 * @exception none
65 return m_progsource[linenr.getTypeValue()]; 55 * @conditions none
66 } 56 */
67 57 const std::map<std::string, unsigned>& getLabels() const
68 std::map<std::string, unsigned int>& getJumpAddrs()
69 { 58 {
70 return m_jumpaddr; 59 return m_labels;
71 } 60 }
72#ifdef DEBUG 61
73 /** 62 /**
74 * @method dump 63 * @method findLabel
75 * @brief Dumps the program source to ostream 64 * @brief search for label
76 * @param out output stream 65 * @param label name of label to search for
77 * @return - 66 * @return index of found label in program
78 * @globalvars 67 * @globalvars none
79 * @exception 68 * @exception std::runtime_error
80 * @conditions 69 * @conditions none
81 */ 70 */
82 void dump(std::ostream& out); 71 unsigned findLabel(const std::string& label) const;
83#endif
84 72
85 protected:
86 /** 73 /**
87 * @method parse 74 * @method compile
88 * @brief parse the program file 75 * @brief create instructions from parsing stream
89 * @param - 76 * @param in inputstream to read from
90 * @return - 77 * @return void
78 * @globalvars none
79 * @exception std::runtime_error
80 * @conditions none
81 */
82 void compile(std::istream& in);
83
84#if DEBUG
85 /**
86 * @method dump
87 * @brief dumps contents to outputstream
88 * @param out outputstream to write to
89 * @return void
91 * @globalvars none 90 * @globalvars none
92 * @exception ParserError 91 * @exception none
93 * @conditions none 92 * @conditions none
94 */ 93 */
95 void parse(); 94 void dump(std::ostream& out);
96 95#endif
96
97 private: 97 private:
98 /* members */ 98 /* members */
99 std::string m_programfile; 99 /** set of known instructions */
100 std::vector<std::vector<std::string> > m_progsource; 100 std::set<CInstruction *> m_instrset;
101 std::map<std::string, unsigned int> m_jumpaddr; 101 std::map<std::string, unsigned> m_labels;
102}; 102};
103 103
104#endif 104#endif
diff --git a/ue3/mycpu/displays.h b/ue3/mycpu/displays.h
new file mode 100644
index 0000000..d4f3f36
--- /dev/null
+++ b/ue3/mycpu/displays.h
@@ -0,0 +1,76 @@
1/**
2 * @module displays
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief Implementations of CDisplay
5 * @date 10.05.2009
6 */
7
8#ifndef DISPLAYS_H
9#define DISPLAYS_H 1
10
11#include <iomanip>
12#include "cdisplay.h"
13
14/**
15 * @class CDisplayWDEZ
16 *
17 * Implementation of CDisplay
18 * Prints CDat to stdout as decimal
19 */
20class CDisplayWDEZ
21 : public CDisplay
22{
23 public:
24 CDisplayWDEZ()
25 : CDisplay("wdez")
26 {}
27
28 /**
29 * @method display
30 * @brief prints value to display
31 * @param value value to display
32 * @return -
33 * @globalvars none
34 * @exception none
35 * @conditions none
36 */
37 void display(const CDat &value)
38 {
39 std::cout << std::dec << value << std::endl;
40 }
41};
42
43/*============================================================================*/
44
45/**
46 * @class CDisplayWHEX
47 *
48 * Implementation of CDisplay
49 * Prints CDat to stdout as decimal
50 */
51class CDisplayWHEX
52 : public CDisplay
53{
54 public:
55 CDisplayWHEX()
56 : CDisplay("whex")
57 {}
58
59 /**
60 * @method display
61 * @brief prints value to display
62 * @param value value to display
63 * @return -
64 * @globalvars none
65 * @exception none
66 * @conditions none
67 */
68 void display(const CDat &value)
69 {
70 std::cout << std::hex << value << std::endl;
71 }
72};
73
74#endif
75
76/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/instructions.cpp b/ue3/mycpu/instructions.cpp
new file mode 100644
index 0000000..ef9e944
--- /dev/null
+++ b/ue3/mycpu/instructions.cpp
@@ -0,0 +1,341 @@
1/**
2 * @module instructions
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief Implementations of CInstruction
5 * @date 10.05.2009
6 */
7
8#include <map>
9#include <assert.h>
10#include "instructions.h"
11
12using namespace std;
13
14void CInstructionInc::compile(std::list<std::string>& params)
15{
16 if (params.size() != 1)
17 throw runtime_error("Invalid paramater count - must be 1");
18 m_regidx1 = parseRegister(params.front());
19 params.pop_front();
20}
21
22/*----------------------------------------------------------------------------*/
23
24void CInstructionInc::execute(CCPU *cpu)
25{
26 assert(cpu != NULL);
27 assert(cpu->getRegisters() != NULL);
28 checkRegister(cpu, m_regidx1);
29 cpu->getRegisters()[ m_regidx1 ]++;
30}
31
32/*============================================================================*/
33
34void CInstructionDec::compile(std::list<std::string>& params)
35{
36 if (params.size() != 1)
37 throw runtime_error("Invalid paramater count - must be 1");
38 m_regidx1 = parseRegister(params.front());
39 params.pop_front();
40}
41
42/*----------------------------------------------------------------------------*/
43
44void CInstructionDec::execute(CCPU *cpu)
45{
46 assert(cpu != NULL);
47 assert(cpu->getRegisters() != NULL);
48 checkRegister(cpu, m_regidx1);
49 cpu->getRegisters()[ m_regidx1 ]--;
50}
51
52/*============================================================================*/
53
54void CInstructionAdd::compile(std::list<std::string>& params)
55{
56 if (params.size() != 3)
57 throw runtime_error("Invalid paramater count - must be 3");
58 m_regidx1 = parseRegister(params.front());
59 params.pop_front();
60 m_regidx2 = parseRegister(params.front());
61 params.pop_front();
62 m_regidx3 = parseRegister(params.front());
63 params.pop_front();
64}
65
66/*----------------------------------------------------------------------------*/
67
68void CInstructionAdd::execute(CCPU *cpu)
69{
70 assert(cpu != NULL);
71 assert(cpu->getRegisters() != NULL);
72 checkRegister(cpu, m_regidx1);
73 checkRegister(cpu, m_regidx2);
74 checkRegister(cpu, m_regidx3);
75 cpu->getRegisters()[ m_regidx1 ] = cpu->getRegisters()[ m_regidx2 ]
76 + cpu->getRegisters()[ m_regidx3 ];
77}
78
79/*============================================================================*/
80
81void CInstructionSub::compile(std::list<std::string>& params)
82{
83 if (params.size() != 3)
84 throw runtime_error("Invalid paramater count - must be 3");
85 m_regidx1 = parseRegister(params.front());
86 params.pop_front();
87 m_regidx2 = parseRegister(params.front());
88 params.pop_front();
89 m_regidx3 = parseRegister(params.front());
90 params.pop_front();
91}
92
93/*----------------------------------------------------------------------------*/
94
95void CInstructionSub::execute(CCPU *cpu)
96{
97 assert(cpu != NULL);
98 assert(cpu->getRegisters() != NULL);
99 checkRegister(cpu, m_regidx1);
100 checkRegister(cpu, m_regidx2);
101 checkRegister(cpu, m_regidx3);
102 cpu->getRegisters()[ m_regidx1 ] = cpu->getRegisters()[ m_regidx2 ]
103 - cpu->getRegisters()[ m_regidx3 ];
104}
105
106/*============================================================================*/
107
108void CInstructionMul::compile(std::list<std::string>& params)
109{
110 if (params.size() != 3)
111 throw runtime_error("Invalid paramater count - must be 3");
112 m_regidx1 = parseRegister(params.front());
113 params.pop_front();
114 m_regidx2 = parseRegister(params.front());
115 params.pop_front();
116 m_regidx3 = parseRegister(params.front());
117 params.pop_front();
118}
119
120/*----------------------------------------------------------------------------*/
121
122void CInstructionMul::execute(CCPU *cpu)
123{
124 checkRegister(cpu, m_regidx1);
125 checkRegister(cpu, m_regidx2);
126 checkRegister(cpu, m_regidx3);
127 cpu->getRegisters()[ m_regidx1 ] = cpu->getRegisters()[ m_regidx2 ]
128 * cpu->getRegisters()[ m_regidx3 ];
129}
130
131/*============================================================================*/
132
133void CInstructionDiv::compile(std::list<std::string>& params)
134{
135 if (params.size() != 3)
136 throw runtime_error("Invalid paramater count - must be 3");
137 m_regidx1 = parseRegister(params.front());
138 params.pop_front();
139 m_regidx2 = parseRegister(params.front());
140 params.pop_front();
141 m_regidx3 = parseRegister(params.front());
142 params.pop_front();
143}
144
145/*----------------------------------------------------------------------------*/
146
147void CInstructionDiv::execute(CCPU *cpu)
148{
149 assert(cpu != NULL);
150 assert(cpu->getRegisters() != NULL);
151 checkRegister(cpu, m_regidx1);
152 checkRegister(cpu, m_regidx2);
153 checkRegister(cpu, m_regidx3);
154 cpu->getRegisters()[ m_regidx1 ] = cpu->getRegisters()[ m_regidx2 ]
155 / cpu->getRegisters()[ m_regidx3 ];
156}
157
158/*============================================================================*/
159
160void CInstructionLoad::compile(std::list<std::string>& params)
161{
162 if (params.size() != 2)
163 throw runtime_error("Invalid paramater count - must be 2");
164 m_regidx1 = parseRegister(params.front());
165 params.pop_front();
166 m_regidx2 = parseRegister(params.front());
167 params.pop_front();
168}
169
170/*----------------------------------------------------------------------------*/
171
172void CInstructionLoad::execute(CCPU *cpu)
173{
174 assert(cpu != NULL);
175 assert(cpu->getRegisters() != NULL);
176 assert(cpu->getMemory() != NULL);
177 checkRegister(cpu, m_regidx1);
178 checkRegister(cpu, m_regidx2);
179 CDat val(cpu->getRegisters()[ m_regidx2 ]);
180 cpu->getRegisters()[ m_regidx1 ] = (*cpu->getMemory())[ val ];
181}
182
183/*============================================================================*/
184
185void CInstructionStore::compile(std::list<std::string>& params)
186{
187 if (params.size() != 2)
188 throw runtime_error("Invalid paramater count - must be 2");
189 m_regidx1 = parseRegister(params.front());
190 params.pop_front();
191 m_regidx2 = parseRegister(params.front());
192 params.pop_front();
193}
194
195/*----------------------------------------------------------------------------*/
196
197void CInstructionStore::execute(CCPU *cpu)
198{
199 assert(cpu != NULL);
200 assert(cpu->getRegisters() != NULL);
201 assert(cpu->getMemory() != NULL);
202 checkRegister(cpu, m_regidx1);
203 checkRegister(cpu, m_regidx2);
204 CDat val(cpu->getRegisters()[ m_regidx2 ]);
205 (*cpu->getMemory())[ val ] = cpu->getRegisters()[ m_regidx1 ];
206}
207
208/*============================================================================*/
209
210void CInstructionTest::compile(std::list<std::string>& params)
211{
212 if (params.size() != 1)
213 throw runtime_error("Invalid paramater count - must be 1");
214 m_regidx1 = parseRegister(params.front());
215 params.pop_front();
216}
217
218/*----------------------------------------------------------------------------*/
219
220void CInstructionTest::execute(CCPU *cpu)
221{
222 assert(cpu != NULL);
223 assert(cpu->getRegisters() != NULL);
224 checkRegister(cpu, m_regidx1);
225 if (cpu->getRegisters()[ m_regidx1 ] == CDat(0))
226 cpu->setFlagZero(true);
227 if (cpu->getRegisters()[ m_regidx1 ] < CDat(0))
228 cpu->setFlagSign(true);
229}
230
231/*============================================================================*/
232
233void CInstructionJumpA::compile(std::list<std::string>& params)
234{
235 if (params.size() != 1)
236 throw runtime_error("Invalid paramater count - must be 1");
237 m_addr = params.front();
238 params.pop_front();
239}
240
241/*----------------------------------------------------------------------------*/
242
243void CInstructionJumpA::execute(CCPU *cpu)
244{
245 assert(cpu != NULL);
246 assert(cpu->getRegisters() != NULL);
247 assert(cpu->getProgram() != NULL);
248 if (m_addr.empty())
249 throw runtime_error("Empty address");
250 cpu->getRegisters()[ 0 ] = cpu->getProgram()->findLabel(m_addr);
251}
252
253/*============================================================================*/
254
255void CInstructionJumpZ::compile(std::list<std::string>& params)
256{
257 if (params.size() != 1)
258 throw runtime_error("Invalid paramater count - must be 1");
259 m_addr = params.front();
260 params.pop_front();
261}
262
263/*----------------------------------------------------------------------------*/
264
265void CInstructionJumpZ::execute(CCPU *cpu)
266{
267 assert(cpu != NULL);
268 assert(cpu->getRegisters() != NULL);
269 assert(cpu->getProgram() != NULL);
270 if (!cpu->getFlagZero())
271 return;
272 if (m_addr.empty())
273 throw runtime_error("Empty address");
274 cpu->getRegisters()[ 0 ] = cpu->getProgram()->findLabel(m_addr);
275}
276
277/*============================================================================*/
278
279void CInstructionJumpS::compile(std::list<std::string>& params)
280{
281 if (params.size() != 1)
282 throw runtime_error("Invalid paramater count - must be 1");
283 m_addr = params.front();
284 params.pop_front();
285}
286
287/*----------------------------------------------------------------------------*/
288
289void CInstructionJumpS::execute(CCPU *cpu)
290{
291 assert(cpu != NULL);
292 assert(cpu->getRegisters() != NULL);
293 assert(cpu->getProgram() != NULL);
294 if (!cpu->getFlagSign())
295 return;
296 if (m_addr.empty())
297 throw runtime_error("Empty address");
298 cpu->getRegisters()[ 0 ] = cpu->getProgram()->findLabel(m_addr);
299}
300
301/*============================================================================*/
302
303void CInstructionWrite::compile(std::list<std::string>& params)
304{
305 if (params.size() != 2)
306 throw runtime_error("Invalid paramater count - must be 2");
307 m_dev = params.front();
308 params.pop_front();
309 m_regidx1 = parseRegister(params.front());
310 params.pop_front();
311}
312
313/*----------------------------------------------------------------------------*/
314
315void CInstructionWrite::execute(CCPU *cpu)
316{
317 assert(cpu != NULL);
318 assert(cpu->getRegisters() != NULL);
319 checkRegister(cpu, m_regidx1);
320 if (m_dev.empty())
321 throw runtime_error("Empty device");
322
323 CDisplay *display = NULL;
324 std::set<CDisplay *> displays = cpu->getDisplays();
325 std::set<CDisplay *>::iterator it;
326 for(it = displays.begin(); it != displays.end(); ++it)
327 {
328 if ((*it)->getName() == m_dev)
329 {
330 display = *it;
331 break;
332 }
333 }
334 if (display == NULL)
335 throw runtime_error("Unknown display");
336
337 display->display(cpu->getRegisters()[ m_regidx1 ]);
338}
339
340
341/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/instructions.h b/ue3/mycpu/instructions.h
new file mode 100644
index 0000000..4c36562
--- /dev/null
+++ b/ue3/mycpu/instructions.h
@@ -0,0 +1,454 @@
1/**
2 * @module instructions
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief Implementations of CInstruction
5 * @date 10.05.2009
6 */
7
8#ifndef INSTRUCTIONS_H
9#define INSTRUCTIONS_H 1
10
11#include "cinstruction.h"
12#include "ccpu.h"
13
14/**
15 * @class CInstructionInc
16 *
17 * Implementation of assembler command "inc"
18 * Syntax: inc R1
19 * (R1++)
20 */
21class CInstructionInc
22 : public CInstruction
23{
24 public:
25 CInstructionInc()
26 : CInstruction("inc")
27 {}
28
29 CInstructionInc *factory()
30 {
31 return new CInstructionInc;
32 }
33
34 void compile(std::list<std::string>& params);
35 void execute(CCPU *cpu);
36
37 protected:
38 /** register number */
39 unsigned m_regidx1;
40};
41
42/*============================================================================*/
43
44/**
45 * @class CInstructionDec
46 *
47 * Implementation of assembler command "dec"
48 * Syntax: dec R1
49 * (R1--)
50 */
51class CInstructionDec
52 : public CInstruction
53{
54 public:
55 CInstructionDec()
56 : CInstruction("dec")
57 {}
58
59 CInstructionDec *factory()
60 {
61 return new CInstructionDec;
62 }
63
64 void compile(std::list<std::string>& params);
65 void execute(CCPU *cpu);
66
67 protected:
68 /** register number */
69 unsigned m_regidx1;
70};
71
72/*============================================================================*/
73
74/**
75 * @class CInstructionAdd
76 *
77 * Implementation of assembler command "add"
78 * Syntax: add R1, R2, R3
79 * (R1 = R2 + R3)
80 */
81class CInstructionAdd
82 : public CInstruction
83{
84 public:
85 CInstructionAdd()
86 : CInstruction("add")
87 {}
88
89 CInstructionAdd *factory()
90 {
91 return new CInstructionAdd;
92 }
93
94 void compile(std::list<std::string>& params);
95 void execute(CCPU *cpu);
96
97 protected:
98 /** register number */
99 unsigned m_regidx1;
100 /** register number */
101 unsigned m_regidx2;
102 /** register number */
103 unsigned m_regidx3;
104};
105
106/*============================================================================*/
107
108/**
109 * @class CInstructionSub
110 *
111 * Implementation of assembler command "sub"
112 * Syntax: sub R1, R2, R3
113 * (R1 = R2 - R3)
114 */
115class CInstructionSub
116 : public CInstruction
117{
118 public:
119 CInstructionSub()
120 : CInstruction("sub")
121 {}
122
123 CInstructionSub *factory()
124 {
125 return new CInstructionSub;
126 }
127
128 void compile(std::list<std::string>& params);
129 void execute(CCPU *cpu);
130
131 protected:
132 /** register number */
133 unsigned m_regidx1;
134 /** register number */
135 unsigned m_regidx2;
136 /** register number */
137 unsigned m_regidx3;
138};
139
140/*============================================================================*/
141
142/**
143 * @class CInstructionMul
144 *
145 * Implementation of assembler command "mul"
146 * Syntax: mul R1, R2, R3
147 * (R1 = R2 * R3)
148 */
149class CInstructionMul
150 : public CInstruction
151{
152 public:
153 CInstructionMul()
154 : CInstruction("mul")
155 {}
156
157 CInstructionMul *factory()
158 {
159 return new CInstructionMul;
160 }
161
162 void compile(std::list<std::string>& params);
163 void execute(CCPU *cpu);
164
165 protected:
166 /** register number */
167 unsigned m_regidx1;
168 /** register number */
169 unsigned m_regidx2;
170 /** register number */
171 unsigned m_regidx3;
172};
173
174/*============================================================================*/
175
176/**
177 * @class CInstructionDiv
178 *
179 * Implementation of assembler command "div"
180 * Syntax: div R1, R2, R3
181 * (R1 = R2 / R3)
182 */
183class CInstructionDiv
184 : public CInstruction
185{
186 public:
187 CInstructionDiv()
188 : CInstruction("div")
189 {}
190
191 CInstructionDiv *factory()
192 {
193 return new CInstructionDiv;
194 }
195
196 void compile(std::list<std::string>& params);
197 void execute(CCPU *cpu);
198
199 protected:
200 /** register number */
201 unsigned m_regidx1;
202 /** register number */
203 unsigned m_regidx2;
204 /** register number */
205 unsigned m_regidx3;
206};
207
208/*============================================================================*/
209
210/**
211 * @class CInstructionLoad
212 *
213 * Implementation of assembler command "load"
214 * Syntax: load R1, R2
215 * (R1 = memory[R2])
216 */
217class CInstructionLoad
218 : public CInstruction
219{
220 public:
221 CInstructionLoad()
222 : CInstruction("load")
223 {}
224
225 CInstructionLoad *factory()
226 {
227 return new CInstructionLoad;
228 }
229
230 void compile(std::list<std::string>& params);
231 void execute(CCPU *cpu);
232
233 protected:
234 /** register number */
235 unsigned m_regidx1;
236 /** register number */
237 unsigned m_regidx2;
238};
239
240/*============================================================================*/
241
242/**
243 * @class CInstructionStore
244 *
245 * Implementation of assembler command "store"
246 * Syntax: store R1, R2
247 * (memory[R2] = R1)
248 */
249class CInstructionStore
250 : public CInstruction
251{
252 public:
253 CInstructionStore()
254 : CInstruction("store")
255 {}
256
257 CInstructionStore *factory()
258 {
259 return new CInstructionStore;
260 }
261
262 void compile(std::list<std::string>& params);
263 void execute(CCPU *cpu);
264
265 protected:
266 /** register number */
267 unsigned m_regidx1;
268 /** register number */
269 unsigned m_regidx2;
270};
271
272/*============================================================================*/
273
274/**
275 * @class CInstructionTest
276 *
277 * Implementation of assembler command "test"
278 * Syntax: test R1
279 * (R1 == 0: zeroflag: true, R1 < 0: signflag: true)
280 */
281class CInstructionTest
282 : public CInstruction
283{
284 public:
285 CInstructionTest()
286 : CInstruction("test")
287 {}
288
289 CInstructionTest *factory()
290 {
291 return new CInstructionTest;
292 }
293
294 void compile(std::list<std::string>& params);
295 void execute(CCPU *cpu);
296
297 protected:
298 /** register number */
299 unsigned m_regidx1;
300};
301
302/*============================================================================*/
303
304/**
305 * @class CInstructionLabel
306 *
307 * Implementation of assembler command "label"
308 * Syntax: label name:
309 */
310class CInstructionLabel
311 : public CInstruction
312{
313 public:
314 CInstructionLabel()
315 : CInstruction("label")
316 {}
317
318 CInstructionLabel *factory()
319 {
320 return new CInstructionLabel;
321 }
322
323 void compile(std::list<std::string>& params)
324 {}
325
326 void execute(CCPU *cpu)
327 {}
328};
329
330/*============================================================================*/
331
332/**
333 * @class CInstructionJumpA
334 *
335 * Implementation of assembler command "jumpa"
336 * Syntax: jumpa labelname
337 * (jump to labelname)
338 */
339class CInstructionJumpA
340 : public CInstruction
341{
342 public:
343 CInstructionJumpA()
344 : CInstruction("jumpa"), m_addr("")
345 {}
346
347 CInstructionJumpA *factory()
348 {
349 return new CInstructionJumpA;
350 }
351
352 void compile(std::list<std::string>& params);
353 void execute(CCPU *cpu);
354
355 protected:
356 /** labelname */
357 std::string m_addr;
358};
359
360/*============================================================================*/
361
362/**
363 * @class CInstructionJumpZ
364 *
365 * Implementation of assembler command "jumpz"
366 * Syntax: jumpz labelname
367 * (jump to labelname if zeroflag)
368 */
369class CInstructionJumpZ
370 : public CInstruction
371{
372 public:
373 CInstructionJumpZ()
374 : CInstruction("jumpz"), m_addr("")
375 {}
376
377 CInstructionJumpZ *factory()
378 {
379 return new CInstructionJumpZ;
380 }
381
382 void compile(std::list<std::string>& params);
383 void execute(CCPU *cpu);
384
385 protected:
386 /** labelname */
387 std::string m_addr;
388};
389
390/*============================================================================*/
391
392/**
393 * @class CInstructionJumpS
394 *
395 * Implementation of assembler command "jumps"
396 * Syntax: jumps labelname
397 * (jump to labelname if signflag)
398 */
399class CInstructionJumpS
400 : public CInstruction
401{
402 public:
403 CInstructionJumpS()
404 : CInstruction("jumps"), m_addr("")
405 {}
406
407 CInstructionJumpS *factory()
408 {
409 return new CInstructionJumpS;
410 }
411
412 void compile(std::list<std::string>& params);
413 void execute(CCPU *cpu);
414
415 protected:
416 /** labelname */
417 std::string m_addr;
418};
419
420/*============================================================================*/
421
422/**
423 * @class CInstructionWrite
424 *
425 * Implementation of assembler command "write"
426 * Syntax: write DEV, R1
427 * (write R1 to DEV, which is a name of a display)
428 */
429class CInstructionWrite
430 : public CInstruction
431{
432 public:
433 CInstructionWrite()
434 : CInstruction("write"), m_dev("")
435 {}
436
437 CInstructionWrite *factory()
438 {
439 return new CInstructionWrite;
440 }
441
442 void compile(std::list<std::string>& params);
443 void execute(CCPU *cpu);
444
445 protected:
446 /** register number */
447 unsigned m_regidx1;
448 /** device name */
449 std::string m_dev;
450};
451
452#endif
453
454/* vim: set et sw=2 ts=2: */
diff --git a/ue3/mycpu/mycpu.cpp b/ue3/mycpu/mycpu.cpp
index af6fe08..b25e721 100644
--- a/ue3/mycpu/mycpu.cpp
+++ b/ue3/mycpu/mycpu.cpp
@@ -1,17 +1,24 @@
1/** 1/**
2 * @module mycpu 2 * @module mycpu
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief mycpu reads a program file and optional a memory file given as 4 * @brief mycpu executes a programfile (in simple assembler) by parsing the
5 * commandline option. 5 * programfile first. This creates a vector of instructions, which will
6 * On error (e.g. unknown function) the program will terminate 6 * be executed in linear order (except jumps) afterwards. In order to
7 * @date 11.05.2009 7 * initialize the memory of the cpu before execution an optional
8 * memoryfile can be passed as commandline option.
9 * @date 13.05.2009
8 * @par Exercise 10 * @par Exercise
9 * 3 11 * 4
10 */ 12 */
11 13
12#include <iostream>
13#include <boost/program_options.hpp> 14#include <boost/program_options.hpp>
15#include <iostream>
16#include <fstream>
17#include <stdexcept>
18#include <stdlib.h>
14#include "ccpu.h" 19#include "ccpu.h"
20#include "cmem.h"
21#include "cprogram.h"
15 22
16using namespace std; 23using namespace std;
17namespace po = boost::program_options; 24namespace po = boost::program_options;
@@ -26,8 +33,10 @@ namespace po = boost::program_options;
26 * @exception none 33 * @exception none
27 * @conditions none 34 * @conditions none
28 * 35 *
29 * setup commandline options, parse them and pass scriptfile to scriptparser 36 * parse commandline options, create and initialize memory,
30 * instance. On error print error message to stderr. 37 * create cprogram instance, which parses the programfile and
38 * execute CCPU::run()
39 * On error print error message to stderr.
31 * Unknown commandline options will print a usage message. 40 * Unknown commandline options will print a usage message.
32 */ 41 */
33int main(int argc, char* argv[]) 42int main(int argc, char* argv[])
@@ -37,9 +46,9 @@ int main(int argc, char* argv[])
37 /* define commandline options */ 46 /* define commandline options */
38 po::options_description desc("Allowed options"); 47 po::options_description desc("Allowed options");
39 desc.add_options() 48 desc.add_options()
40 ("help,h", "this help message") 49 ("help,h", "this help message")
41 ("progfile,c", po::value<string>(), "program file") 50 ("compile,c", po::value<string>(), "input programfile")
42 ("memfile,m", po::value<string>(), "memory file"); 51 ("memory,m", po::value<string>(), "input memoryfile");
43 52
44 /* parse commandline options */ 53 /* parse commandline options */
45 po::variables_map vm; 54 po::variables_map vm;
@@ -50,43 +59,95 @@ int main(int argc, char* argv[])
50 } 59 }
51 catch(po::error& ex) 60 catch(po::error& ex)
52 { 61 {
53 cerr << "Error: " << ex.what() << endl; 62 cerr << me << ": Error: " << ex.what() << endl;
54 } 63 }
55 64
56 /* print usage upon request or missing params */ 65 /* print usage upon request or missing params */
57 if (vm.count("help") || !vm.count("progfile")) 66 if (vm.count("help") || !vm.count("compile"))
58 { 67 {
59 cout << "Usage: " << me << " -c <programfile> [ -m <memoryfile>]" << endl; 68 cout << "Usage: " << me << " -c <programfile> [-m <memoryfile>]" << endl;
60 cout << desc << endl; 69 cout << desc << endl;
61 if ( vm.count("help")) 70 return 0;
62 return 0; 71 }
72
73 /* create memory and optionally initialize memory from file */
74 CMem memory;
75 if (vm.count("memory"))
76 {
77 string memoryfile(vm["memory"].as<string>());
78 ifstream file(memoryfile.c_str(), ios::in);
79 if (!file.is_open())
80 {
81 cerr << me << ": Unable to open memoryfile '" << memoryfile << "' for reading." << endl;
82 return 1;
83 }
84
85 try
86 {
87 memory.initialize(file);
88 file.close();
89 }
90 catch(runtime_error& ex)
91 {
92 file.close();
93 cerr << me << ": Error while reading from memoryfile:" << endl
94 << " " << ex.what() << endl;
95 return 1;
96 }
97
98#if DEBUG
99 memory.dump(cerr);
100#endif
101 }
102
103 /* create program instance */
104 CProgram program;
105 string programfile(vm["compile"].as<string>());
106 ifstream file(programfile.c_str(), ios::in);
107 if (!file.is_open())
108 {
109 cerr << me << ": Unable to open programfile '" << programfile << "' for reading." << endl;
63 return 1; 110 return 1;
64 } 111 }
65 112
66 string memfile("");
67 if (vm.count("memfile"))
68 memfile = vm["memfile"].as<string>();
69
70 CCPU cpu(vm["progfile"].as<string>(), memfile);
71 cpu.proceed();
72
73/* CScriptparser parser(vm["c"].as<string>());
74 try 113 try
75 { 114 {
76 parser.parse(); 115 program.compile(file);
116 file.close();
77 } 117 }
78 catch(CScriptparser::ParserError& ex) 118 catch(runtime_error& ex)
79 { 119 {
80 cerr << me << ": Error while processing scriptfile: " << ex.what() << endl; 120 file.close();
81 if (!ex.getLine().empty()) 121 cerr << me << ": Error while compiling programfile:" << endl
82 cerr << "Scriptline: '" << ex.getLine() << "'" << endl; 122 << " " << ex.what() << endl;
83 return 1; 123 return 1;
84 } 124 }
85 catch(exception& ex) 125
126#if DEBUG
127 program.dump(cerr);
128#endif
129
130
131 /* create cpu and execute the program */
132 try
133 {
134 CCPU cpu(256);
135 cpu.setMemory(&memory);
136 cpu.setProgram(&program);
137 cpu.run();
138#if DEBUG
139 //cpu.dumpRegisters(cerr);
140#endif
141 }
142 catch(runtime_error& ex)
86 { 143 {
87 cerr << me << ": Unexpected exception: " << ex.what() << endl; 144 cerr << me << ": Error while executing program:" << endl
145 << " " << ex.what() << endl;
146#if DEBUG
147 memory.dump(cerr);
148#endif
88 return 1; 149 return 1;
89 }*/ 150 }
90 151
91 return 0; 152 return 0;
92} 153}
diff --git a/ue3/mycpu/test/test.sh b/ue3/mycpu/test/test.sh
new file mode 100755
index 0000000..ff1076c
--- /dev/null
+++ b/ue3/mycpu/test/test.sh
@@ -0,0 +1,42 @@
1#!/bin/bash
2
3binary="./mycpu"
4tmpfile="test/tmpfile"
5inputs=( $(ls test/* | grep _program | sort -n) )
6
7for input in ${inputs[@]}
8do
9 echo "Testing $input ..."
10
11 programfile="$input"
12 args="-c $programfile"
13 memoryfile="${input/_program/_memory}"
14 reffile="${input/_program/_output}"
15 if [ -e "$memoryfile" ]
16 then
17 args+=" -m $memoryfile"
18 fi
19
20 if [ ! -e "$reffile" ]
21 then
22 echo " ERROR: reference file $reffile doesn't exist"
23 exit 1
24 fi
25
26 rm -rf "$tmpfile"
27 echo " Executing $binary $args ..."
28 $binary $args > $tmpfile
29
30 md5_1=$(md5sum < "$reffile")
31 md5_2=$(md5sum < "$tmpfile")
32 if [ "$md5_1" != "$md5_2" ]
33 then
34 echo " ERROR: output and $reffile differ"
35 diff -Naur "$reffile" "$tmpfile"
36 rm -rf "$tmpfile"
37 exit 1
38 else
39 echo " SUCCESS"
40 fi
41 rm -rf "$tmpfile"
42done
diff --git a/ue3/mycpu/test/test1_memory b/ue3/mycpu/test/test1_memory
new file mode 100644
index 0000000..209e3ef
--- /dev/null
+++ b/ue3/mycpu/test/test1_memory
@@ -0,0 +1 @@
20
diff --git a/ue3/mycpu/test/test1_output b/ue3/mycpu/test/test1_output
new file mode 100644
index 0000000..ac30dc2
--- /dev/null
+++ b/ue3/mycpu/test/test1_output
@@ -0,0 +1,19 @@
11
22
33
44
55
66
77
88
99
1010
1111
1212
1313
1414
1515
1616
1717
1818
1919
diff --git a/ue3/mycpu/test/test1_program b/ue3/mycpu/test/test1_program
new file mode 100644
index 0000000..ae5e9d2
--- /dev/null
+++ b/ue3/mycpu/test/test1_program
@@ -0,0 +1,13 @@
1# set R2 = 10
2LOAD R2, R1
3
4# start of loop
5label Loop:
6inc R3
7sub R4, R3, R2
8test R4
9jumpz EndLoop
10write WDEZ, R3
11jumpa Loop
12
13label EndLoop:
diff --git a/ue3/mycpu/test/test_prog b/ue3/mycpu/test/test_prog
deleted file mode 100644
index b50575b..0000000
--- a/ue3/mycpu/test/test_prog
+++ /dev/null
@@ -1,15 +0,0 @@
1# set R2 = 10
2
3load R2, R1
4
5# start of loop
6label Loop:
7inc R3
8sub R4, R3, R2
9test R4
10jumpz EndLoop
11write WDEZ, R3
12store R3, R1
13jumpa Loop
14
15label EndLoop:
diff --git a/ue3/mycpu/test/test_prog_mem b/ue3/mycpu/test/test_prog_mem
deleted file mode 100644
index 8c3e80f..0000000
--- a/ue3/mycpu/test/test_prog_mem
+++ /dev/null
@@ -1,6 +0,0 @@
19
23
34
45
54
63
diff --git a/ue3/protokoll.pdf b/ue3/protokoll.pdf
new file mode 100644
index 0000000..3d8c5eb
--- /dev/null
+++ b/ue3/protokoll.pdf
Binary files differ
diff --git a/ue3/protokoll/mycpu.png b/ue3/protokoll/mycpu.png
new file mode 100644
index 0000000..570d50a
--- /dev/null
+++ b/ue3/protokoll/mycpu.png
Binary files differ
diff --git a/ue3/protokoll/mycpu.vpp b/ue3/protokoll/mycpu.vpp
new file mode 100644
index 0000000..1f4b264
--- /dev/null
+++ b/ue3/protokoll/mycpu.vpp
Binary files differ
diff --git a/ue3/protokoll/protokoll.tex b/ue3/protokoll/protokoll.tex
index 8b413e7..dd53735 100644
--- a/ue3/protokoll/protokoll.tex
+++ b/ue3/protokoll/protokoll.tex
@@ -38,44 +38,110 @@ Manuel Mausz, \matrnr 0728348\\
38 38
39Abbildung~\ref{fig:classdiagram1} zeigt das Klassendiagramm der Aufgabe. 39Abbildung~\ref{fig:classdiagram1} zeigt das Klassendiagramm der Aufgabe.
40 40
41TODO 41Als Datentyp für Register und Hauptspeicher der CPU wurde ein allgemeines
42Template implementiert, welche andere Datentypen oder Klasse umhüllen kann.
43Zudem wurden die gängigsten Operatoren definiert, die man sich von einem
44Datentyp erwarten kann. Gemäß der Aufgabenstellung wurde der Datentyp CDat als
45umhüllter Integer-Wert definiert.
46
47Der Hauptspeicher der CPU wurde als abgeleitetes Template \mbox{CVectorMem} des
48Templates \mbox{std::vector<T, Allocator>} implementiert, damit dieses um die
49Methode \mbox{initialize} und \mbox{dump} erweitert werden konnten. Erstere
50dient zur Initialisierung des Hauptspeichers bzw. Füllung des Vectors,
51zweiteres zur Debugausgabe. Der Datentyp CMem wurde via typedef als
52\mbox{CVectorMem} mit dem Templateargument CDat definiert. Somit enthält der
53Hauptspeicher nur Elemente des Typs CDat.
54
55Die geforderten zwei Display-Klassen \mbox{CDisplayWDEZ} und
56\mbox{CDisplayWHEX} wurden von der abstrakten Klasse CDisplay abgeleitet, welche
57selbst als Template CDisplayT mit dem Templateargument CDat definiert ist.
58
59Der Programmspeicher \mbox{CProgram} wurde vom Template
60\mbox{std::vector<CInstruction *>} abgeleitet. Somit ist diese Klasse, ähnlich
61wie CMem, selbst ein Vector. Zudem wurden weitere Methoden hinzugefügt. Die
62Methode \mbox{compile} dient zum Kompilieren bzw. Umwandeln des
63Syntax der Programmdatei in Instanzen der Klasse CInstruction, die später von
64der CPU ausgeführt werden. Zur Umwandlung werden bei der Instantiierung von
65\mbox{CProgram} sämtliche erlaubten Instruktionen (also Instanzen von
66\mbox{CInstruction}) in ein \mbox{std::set} eingefügt. Im Zuge der Methode
67\mbox{compile} wird durch Iterieren die jeweilige Instruktion gesucht und durch
68Anwendung des Designpattern \textit{Factory method pattern} die Instruktion
69dupliziert und in \mbox{CProgram} gespeichert. Labels werden zwecks Effizienz in
70einer \mbox{std::map} festgehalten.
71
72Die jeweiligen unterstützen Instruktionen wurden wie gefordert von der Klasse
73\mbox{CInstruction} abgeleitet. \mbox{CInstruction} fordert die
74Implementierung einer Methode \mbox{compile}, die während des parsens der
75Programmdatei von \mbox{CProgram} aufgerufen werden, als auch eine Methode
76\mbox{execute}, die im Zuge der Ausführung des Programms von CCPU
77aufgerufen werden.
78
79Die eigentliche CPU wird durch die Klasse \mbox{CCPU} implementiert. Diese
80dient hauptsächlich als Container für die einzelnen, notwendigen Teile
81(Hauptspeicher, Programmspeicher, Displays, ...) und besitzt daher entsprechend
82viele get- und set-Funktionen. Die Methode \mbox{run} dient zur Ausführung des
83Programms und ist eine Schleife, die über die Instruktionen iteriert und die
84Methode \mbox{execute} aufruft.
42 85
43%================================================================== 86%==================================================================
44\begin{figure}[htb] 87\begin{center}
45 \begin{center} 88 \begin{figure}[htb]
46 \epsfxsize=0.9\textwidth\epsfbox{mycpu.png} 89 \epsfxsize=1.6\textwidth\epsfbox{mycpu.png}
47 \end{center} 90 \caption{Klassendiagramm 1}
48 \caption{Klassendiagramm 1} 91 \label{fig:classdiagram1}
49 \label{fig:classdiagram1} 92 \end{figure}
50\end{figure} 93\end{center}
51%================================================================== 94%==================================================================
52 95
53\subsection{Verwaltung der Ressourcen} 96\subsection{Verwaltung der Ressourcen}
54 97
55TODO 98Alle Objekte, die im Konstruktor alloziert werden, werden im Destruktor wieder
99freigegeben. Die Objekte, die über die \textit{Factory method pattern}
100alloziert werden, werden im Zuge des Destruktor des Vectors bzw.
101von \mbox{CProgram} wieder freigegeben.
56 102
57\subsection{Fehlerbehandlung} 103\subsection{Fehlerbehandlung}
58 104
59TODO 105Es wurden keine eigenen Exceptions eingeführt. Statt dessen werden Exceptions
106meist in Exceptions des Typs \mbox{std::runtime\_error} umgewandelt. Da die
107Hierarchie nicht sehr tief ist, fängt lediglich \mbox{CPropram::compile}
108Exceptions des Typs \mbox{std::runtime\_error}, um zusätzliche Information an
109den ursprünglichen Aufrufer der Methode weiterzugeben. Dies geschieht ebenfalls
110per Exception des Typs \mbox{std::runtime\_error}.
60 111
61\subsection{Implementierung} 112\subsection{Implementierung}
62 113
63TODO 114Siehe Punkt~\ref{Design} und Abbildung~\ref{fig:classdiagram1} sowie
64 115Punkt~\ref{Listings}.\\
116Es wurde viel mit Templates gearbeitet.
65 117
66\section{Projektverlauf} 118\section{Projektverlauf}
67 119
68\subsection{Probleme und Fallstricke} 120\subsection{Probleme und Fallstricke}
69 121
70TODO 122Abgesehen von den mittlerweile üblichen Schwierigkeiten die Angabe bzw.
123die Gedanken dessen Verfassers verstehen zu wollen, arbeitete das erste Design
124noch vermehrt mit Text. Unter anderem hatte die Methode
125\mbox{CInstruction::execute} einen Parameter des Typs \mbox{std::string}, was
126zum dazu führte, das die Instruktion bei jeder Aufführung (zum Beispiel durch
127Jumps) erneut geparsed werden musste.
71 128
72\subsection{Arbeitsaufwand} 129\subsection{Arbeitsaufwand}
73 130
74\begin{tabular}{ll} 131\begin{tabular}{ll}
75 \toprule 132 \toprule
76 Entwicklungsschritt / Meilenstein & Arbeitsaufwand in Stunden\\ 133 Entwicklungsschritt / Meilenstein & Arbeitsaufwand\\
134 \midrule
135 Erstes Design & 3 Stunden\\
136 \hline
137 Implementierung & 3 Tage\\
138 \hline
139 Anpassung des Designs und der Implementierung & 4 Stunden\\
140 \hline
141 Dokumentation (Doxygen) und Überprüfung aller\\
142 Anforderungen gemäß der Programmierrichtlinien & 4 Stunden\\
77 \hline 143 \hline
78 TODO & TODO\\ 144 Erstellung des Protokolls & 3 Stunden\\
79 \bottomrule 145 \bottomrule
80\end{tabular} 146\end{tabular}
81 147
@@ -88,5 +154,53 @@ TODO
88\subsection{mycpu.cpp} 154\subsection{mycpu.cpp}
89\lstinputlisting{../mycpu/mycpu.cpp} 155\lstinputlisting{../mycpu/mycpu.cpp}
90 156
157\newpage
158\subsection{cdat.h}
159\lstinputlisting{../mycpu/cdat.h}
160
161\newpage
162\subsection{cmem.h}
163\lstinputlisting{../mycpu/cmem.h}
164
165\newpage
166\subsection{cinstruction.h}
167\lstinputlisting{../mycpu/cinstruction.h}
168
169\newpage
170\subsection{cinstruction.cpp}
171\lstinputlisting{../mycpu/cinstruction.cpp}
172
173\newpage
174\subsection{instructions.h}
175\lstinputlisting{../mycpu/instructions.h}
176
177\newpage
178\subsection{instructions.cpp}
179\lstinputlisting{../mycpu/instructions.cpp}
180
181\newpage
182\subsection{cdisplay.h}
183\lstinputlisting{../mycpu/cdisplay.h}
184
185\newpage
186\subsection{displays.h}
187\lstinputlisting{../mycpu/displays.h}
188
189\newpage
190\subsection{cprogram.h}
191\lstinputlisting{../mycpu/cprogram.h}
192
193\newpage
194\subsection{cprogram.cpp}
195\lstinputlisting{../mycpu/cprogram.cpp}
196
197\newpage
198\subsection{ccpu.h}
199\lstinputlisting{../mycpu/ccpu.h}
200
201\newpage
202\subsection{ccpu.cpp}
203\lstinputlisting{../mycpu/ccpu.cpp}
204
91\end{document} 205\end{document}
92 206