summaryrefslogtreecommitdiff
path: root/cpu/instructions/overview.txt
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2023-02-13 20:17:31 -0500
committerTest_User <hax@andrewyu.org>2023-02-13 20:17:31 -0500
commit22029d37cbf391a35304d32778bd01ecf40de482 (patch)
tree3e7a89a00280a181ea4742c7ce4387bad9a32a3d /cpu/instructions/overview.txt
parente46a052aade6e343fb8482fff9183589bbbfad8d (diff)
downloadspecification-22029d37cbf391a35304d32778bd01ecf40de482.tar.gz
specification-22029d37cbf391a35304d32778bd01ecf40de482.zip
Rewrite/improve conditional instructions
Diffstat (limited to '')
-rw-r--r--cpu/instructions/overview.txt11
1 files changed, 8 insertions, 3 deletions
diff --git a/cpu/instructions/overview.txt b/cpu/instructions/overview.txt
index 5545697..1c945fb 100644
--- a/cpu/instructions/overview.txt
+++ b/cpu/instructions/overview.txt
@@ -7,9 +7,14 @@ Dynamic VLIW
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`
+
+ If outputs from multiple instructions overlap:
+ Conditional instructions will be preferred above all others
+ Indirect writes, such as `jmp` and `push`, will be preferred over direct writes
+
+ If a conflict still remains, which value will be 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
Current format ideas:
A)