summaryrefslogtreecommitdiff
path: root/cpu/instructions/overview.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/instructions/overview.txt')
-rw-r--r--cpu/instructions/overview.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpu/instructions/overview.txt b/cpu/instructions/overview.txt
index 95b0034..9708e27 100644
--- a/cpu/instructions/overview.txt
+++ b/cpu/instructions/overview.txt
@@ -5,7 +5,11 @@ Dynamic VLIW
`mov R0, R1` and `mov R1, R0` put into the same queue will result in swapping R0 and R1
If any exception occurs during the execution of the queued instructions, all output will be discarded
+
If multiple exceptions would have theoretically occurred, which one is triggered is undefined
+ If outputs from multiple instructions overlap, which one is written to the overlapping area is undefined
+ If an exception would be generated by attempting to write one value there but not the other, the exception might not occur if the other value is what is written in the end
+ This includes indirect writes via instructions such as `jmp` and `push`
Current format ideas:
A)
@@ -39,3 +43,7 @@ Dynamic VLIW
opcode
parameters
immediate references
+
+ A minimum of <n> instructions must be accepted by all CPUs
+ TODO: define n
+ Specific implementations may accept more, up to the maximum specifiable by the format