summaryrefslogtreecommitdiff
path: root/cpu/instructions/opcode.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/instructions/opcode.txt')
-rw-r--r--cpu/instructions/opcode.txt18
1 files changed, 18 insertions, 0 deletions
diff --git a/cpu/instructions/opcode.txt b/cpu/instructions/opcode.txt
new file mode 100644
index 0000000..d69eda4
--- /dev/null
+++ b/cpu/instructions/opcode.txt
@@ -0,0 +1,18 @@
+Binary format:
+ is_conditional[1], instruction id[remaining bits]
+
+
+is_conditional:
+ Appends 1 parameter to the normal parameter list for the instruction:
+ Lowest 3 bits: flags for each of the following checked, from lowest to highest:
+ Zero
+ Overflow
+ Carry
+ Next 3 bits:
+ Value for each of the above that it should match
+ Remaining bits:
+ Index into instruction queue for which result is to be compared
+
+ Conditional instructions will be executed after unconditional ones
+
+ Conditional instructions will never set flags, if a conditional instruction references another, it will always be based on null flags