dcpu16

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

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:
Adcpu-16-suggestions.txt | 18++++++++++++++++++
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).