Difference between revisions of "GeneveOS XOP Definitions"
Jump to navigation
Jump to search
m |
m |
||
Line 9: | Line 9: | ||
XOP @ARGUM,0 | XOP @ARGUM,0 | ||
... | ... | ||
=== Overview === | |||
{| class="plainc" | {| class="plainc" | ||
Line 26: | Line 28: | ||
| 10 || Mathematical functions | | 10 || Mathematical functions | ||
|} | |} | ||
=== Used workspaces === | |||
The XOPs use workspaces F0C0 and F0A0. | |||
[[Category:MDOS]] | [[Category:MDOS]] | ||
[[Category:Geneve]] | [[Category:Geneve]] | ||
[[Category:Programming]] | [[Category:Programming]] |
Latest revision as of 16:27, 30 April 2022
GeneveOS makes frequent use of XOPs and offers them for user programs. An XOP (extended operation) is a special command of the TMS processor family which causes a context switch, transferring control to a location that is specified in a table.
Compared to common architecture concepts, the XOP is TI's way of implementing a system call.
The XOP instruction takes two arguments; the first delivers data for the call, the second is a number from 0 to 15 and indicates the XOP number. In GeneveOS, all system calls are XOP 0 with specific arguments:
ARGUM DATA <number> ... XOP @ARGUM,0 ...
Overview
XOP argument | Category |
---|---|
5 | Keyboard |
6 | Video display |
7 | Memory Management |
8 | Devices (Files) |
9 | Utility functions |
10 | Mathematical functions |
Used workspaces
The XOPs use workspaces F0C0 and F0A0.