summaryrefslogtreecommitdiffstats
path: root/ue3/mycpu/instructions.h
diff options
context:
space:
mode:
Diffstat (limited to 'ue3/mycpu/instructions.h')
-rw-r--r--ue3/mycpu/instructions.h57
1 files changed, 42 insertions, 15 deletions
diff --git a/ue3/mycpu/instructions.h b/ue3/mycpu/instructions.h
index 0e4d99c..a52b991 100644
--- a/ue3/mycpu/instructions.h
+++ b/ue3/mycpu/instructions.h
@@ -1,7 +1,7 @@
1/** 1/**
2 * @module instructions 2 * @module instructions
3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) 3 * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348)
4 * @brief TODO 4 * @brief Implementations of CInstruction
5 * @date 10.05.2009 5 * @date 10.05.2009
6 */ 6 */
7 7
@@ -14,7 +14,9 @@
14/** 14/**
15 * @class CInstructionInc 15 * @class CInstructionInc
16 * 16 *
17 * TODO 17 * Implementation of assembler command "inc"
18 * Syntax: inc R1
19 * (R1++)
18 */ 20 */
19class CInstructionInc 21class CInstructionInc
20 : public CInstruction 22 : public CInstruction
@@ -41,7 +43,9 @@ class CInstructionInc
41/** 43/**
42 * @class CInstructionDec 44 * @class CInstructionDec
43 * 45 *
44 * TODO 46 * Implementation of assembler command "dec"
47 * Syntax: dec R1
48 * (R1--)
45 */ 49 */
46class CInstructionDec 50class CInstructionDec
47 : public CInstruction 51 : public CInstruction
@@ -68,7 +72,9 @@ class CInstructionDec
68/** 72/**
69 * @class CInstructionAdd 73 * @class CInstructionAdd
70 * 74 *
71 * TODO 75 * Implementation of assembler command "add"
76 * Syntax: add R1, R2, R3
77 * (R1 = R2 + R3)
72 */ 78 */
73class CInstructionAdd 79class CInstructionAdd
74 : public CInstruction 80 : public CInstruction
@@ -97,7 +103,9 @@ class CInstructionAdd
97/** 103/**
98 * @class CInstructionSub 104 * @class CInstructionSub
99 * 105 *
100 * TODO 106 * Implementation of assembler command "sub"
107 * Syntax: sub R1, R2, R3
108 * (R1 = R2 - R3)
101 */ 109 */
102class CInstructionSub 110class CInstructionSub
103 : public CInstruction 111 : public CInstruction
@@ -126,7 +134,9 @@ class CInstructionSub
126/** 134/**
127 * @class CInstructionMul 135 * @class CInstructionMul
128 * 136 *
129 * TODO 137 * Implementation of assembler command "mul"
138 * Syntax: mul R1, R2, R3
139 * (R1 = R2 * R3)
130 */ 140 */
131class CInstructionMul 141class CInstructionMul
132 : public CInstruction 142 : public CInstruction
@@ -155,7 +165,9 @@ class CInstructionMul
155/** 165/**
156 * @class CInstructionDiv 166 * @class CInstructionDiv
157 * 167 *
158 * TODO 168 * Implementation of assembler command "div"
169 * Syntax: div R1, R2, R3
170 * (R1 = R2 / R3)
159 */ 171 */
160class CInstructionDiv 172class CInstructionDiv
161 : public CInstruction 173 : public CInstruction
@@ -184,7 +196,9 @@ class CInstructionDiv
184/** 196/**
185 * @class CInstructionLoad 197 * @class CInstructionLoad
186 * 198 *
187 * TODO 199 * Implementation of assembler command "load"
200 * Syntax: load R1, R2
201 * (R1 = memory[R2])
188 */ 202 */
189class CInstructionLoad 203class CInstructionLoad
190 : public CInstruction 204 : public CInstruction
@@ -212,7 +226,9 @@ class CInstructionLoad
212/** 226/**
213 * @class CInstructionStore 227 * @class CInstructionStore
214 * 228 *
215 * TODO 229 * Implementation of assembler command "store"
230 * Syntax: store R1, R2
231 * (memory[R2] = R1)
216 */ 232 */
217class CInstructionStore 233class CInstructionStore
218 : public CInstruction 234 : public CInstruction
@@ -240,7 +256,9 @@ class CInstructionStore
240/** 256/**
241 * @class CInstructionTest 257 * @class CInstructionTest
242 * 258 *
243 * TODO 259 * Implementation of assembler command "test"
260 * Syntax: test R1
261 * (R1 == 0: zeroflag: true, R1 < 0: signflag: true)
244 */ 262 */
245class CInstructionTest 263class CInstructionTest
246 : public CInstruction 264 : public CInstruction
@@ -267,7 +285,8 @@ class CInstructionTest
267/** 285/**
268 * @class CInstructionLabel 286 * @class CInstructionLabel
269 * 287 *
270 * TODO 288 * Implementation of assembler command "label"
289 * Syntax: label name:
271 */ 290 */
272class CInstructionLabel 291class CInstructionLabel
273 : public CInstruction 292 : public CInstruction
@@ -294,7 +313,9 @@ class CInstructionLabel
294/** 313/**
295 * @class CInstructionJumpA 314 * @class CInstructionJumpA
296 * 315 *
297 * TODO 316 * Implementation of assembler command "jumpa"
317 * Syntax: jumpa labelname
318 * (jump to labelname)
298 */ 319 */
299class CInstructionJumpA 320class CInstructionJumpA
300 : public CInstruction 321 : public CInstruction
@@ -321,7 +342,9 @@ class CInstructionJumpA
321/** 342/**
322 * @class CInstructionJumpZ 343 * @class CInstructionJumpZ
323 * 344 *
324 * TODO 345 * Implementation of assembler command "jumpz"
346 * Syntax: jumpz labelname
347 * (jump to labelname if zeroflag)
325 */ 348 */
326class CInstructionJumpZ 349class CInstructionJumpZ
327 : public CInstruction 350 : public CInstruction
@@ -348,7 +371,9 @@ class CInstructionJumpZ
348/** 371/**
349 * @class CInstructionJumpS 372 * @class CInstructionJumpS
350 * 373 *
351 * TODO 374 * Implementation of assembler command "jumps"
375 * Syntax: jumps labelname
376 * (jump to labelname if signflag)
352 */ 377 */
353class CInstructionJumpS 378class CInstructionJumpS
354 : public CInstruction 379 : public CInstruction
@@ -375,7 +400,9 @@ class CInstructionJumpS
375/** 400/**
376 * @class CInstructionWrite 401 * @class CInstructionWrite
377 * 402 *
378 * TODO 403 * Implementation of assembler command "write"
404 * Syntax: write DEV, R1
405 * (write R1 to DEV, which is a name of a display)
379 */ 406 */
380class CInstructionWrite 407class CInstructionWrite
381 : public CInstruction 408 : public CInstruction