From 22029d37cbf391a35304d32778bd01ecf40de482 Mon Sep 17 00:00:00 2001 From: Test_User Date: Mon, 13 Feb 2023 20:17:31 -0500 Subject: Rewrite/improve conditional instructions --- cpu/instructions/overview.txt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'cpu/instructions/overview.txt') 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) -- cgit v1.2.3