commit 201f5c8b17d74fbde6174af15532760883853b33
parent 26936f224654caccd11993a02bff80f1923637e4
Author: Brian Swetland <swetland@frotz.net>
Date: Thu, 5 Apr 2012 03:15:41 -0700
provide some thoughts on DCPU-16 architecture
Diffstat:
1 file changed, 18 insertions(+), 0 deletions(-)
diff --git a/dcpu-16-suggestions.txt b/dcpu-16-suggestions.txt
@@ -0,0 +1,18 @@
+Some comments on the DCPU-16 architecture - suggestions / feedback
+
+- Providing BEQ val, reladdr / BNE val, reladdr would probably be more
+ emulation-friendly than the IFE/IFN/IFG/IFB -- adjusting the PC is
+ simpler/cheaper than maintaining a "skip next" flag, or decoding
+ the length of the next instruction when processing the branch
+
+- Suggest replacing the 0x1f-0x3f encodings for the "a" operand with
+ alternatives to the literal/immediates. Good candidates might be
+ special registers (interrupt control, system, etc) or IO registers.
+
+- Suggest making the immediate value in the [imm + reg] operand form
+ signed, to allow easy access to locals from a frame pointer. This
+ also enables some other common data access patterns.
+
+- Consider providing interrupts for cycle count and "wall clock"
+ timers (if not general IO interrupts), to allow for preemptive
+ multitasking (and/or just debugging/watchdog processes).