GeneveOS XOP Definitions

From Ninerpedia
Revision as of 16:27, 30 April 2022 by Mizapf (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.