summaryrefslogtreecommitdiff
path: root/cpu/instructions/execution_control
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2023-04-26 16:38:17 -0400
committerTest_User <hax@andrewyu.org>2023-04-26 16:38:17 -0400
commite0b769ffe69c690bcfa93c53e90340dfc2f77b65 (patch)
treed62dd6e5819cafffdb1e9d48a0335c21623996af /cpu/instructions/execution_control
parent868e583b8d8c7dbeb8478202ea38b7de3f64e151 (diff)
downloadspecification-e0b769ffe69c690bcfa93c53e90340dfc2f77b65.tar.gz
specification-e0b769ffe69c690bcfa93c53e90340dfc2f77b65.zip
Put task-related instructions into instructions/, get rid of the term "process" where "task" was meant
Diffstat (limited to 'cpu/instructions/execution_control')
-rw-r--r--cpu/instructions/execution_control/irett.txt16
-rw-r--r--cpu/instructions/execution_control/tcall.txt16
-rw-r--r--cpu/instructions/execution_control/tret.txt13
-rw-r--r--cpu/instructions/execution_control/tswitch.txt16
4 files changed, 61 insertions, 0 deletions
diff --git a/cpu/instructions/execution_control/irett.txt b/cpu/instructions/execution_control/irett.txt
new file mode 100644
index 0000000..0ee81f0
--- /dev/null
+++ b/cpu/instructions/execution_control/irett.txt
@@ -0,0 +1,16 @@
+Number of parameters: 2
+
+Usage:
+ irett <task index> <id>
+
+Effect:
+ See ../../task_switching/execution.txt
+
+Exceptions:
+ `Invalid operation` if not in an exception/interrupt handler
+
+ `Illegal instruction` if used with any other task-related instruction in the same queue
+ Not triggered if conditional and only one was selected to be run
+
+Flags:
+ Zero if id does not match the task at the index or the task at index is not marked as valid
diff --git a/cpu/instructions/execution_control/tcall.txt b/cpu/instructions/execution_control/tcall.txt
new file mode 100644
index 0000000..4e0087f
--- /dev/null
+++ b/cpu/instructions/execution_control/tcall.txt
@@ -0,0 +1,16 @@
+Number of parameters: 2
+
+Usage:
+ tcall <task index> <id>
+
+Effect:
+ See ../../task_switching/execution.txt
+
+Exceptions:
+ `Invalid operation` if not the original task
+
+ `Illegal instruction` if used with any other task-related instruction in the same queue
+ Not triggered if conditional and only one was selected to be run
+
+Flags:
+ Zero if id does not match the task at the index or the task at index is not marked as valid
diff --git a/cpu/instructions/execution_control/tret.txt b/cpu/instructions/execution_control/tret.txt
new file mode 100644
index 0000000..7b2cd9d
--- /dev/null
+++ b/cpu/instructions/execution_control/tret.txt
@@ -0,0 +1,13 @@
+Number of parameters: 0
+
+Usage:
+ tret
+
+Effect:
+ See ../../task_switching/execution.txt
+
+Exceptions:
+ `Invalid operation` if not the original task
+
+ `Illegal instruction` if used with any other task-related instruction in the same queue
+ Not triggered if conditional and only one was selected to be run
diff --git a/cpu/instructions/execution_control/tswitch.txt b/cpu/instructions/execution_control/tswitch.txt
new file mode 100644
index 0000000..82aeefd
--- /dev/null
+++ b/cpu/instructions/execution_control/tswitch.txt
@@ -0,0 +1,16 @@
+Number of parameters: 2
+
+Usage:
+ tswitch <task index> <id>
+
+Effect:
+ See ../../task_switching/execution.txt
+
+Exceptions:
+ `Invalid operation` if not the original task
+
+ `Illegal instruction` if used with any other task-related instruction in the same queue
+ Not triggered if conditional and only one was selected to be run
+
+Flags:
+ Zero if id does not match the task at the index or the task at index is not marked as valid