Difference between revisions of "List of SITS system calls"
From Computer History Wiki
(Add more.) |
(Add more.) |
||
Line 199: | Line 199: | ||
| .GETID | | .GETID | ||
| Get process id | | Get process id | ||
− | | colspan="4" | | + | | colspan="4" | - |
− | | | + | | Id |
|- | |- | ||
| 35 | | 35 | ||
Line 206: | Line 206: | ||
| (?) | | (?) | ||
| colspan="4" | Address | | colspan="4" | Address | ||
− | | | + | | Data |
|- | |- | ||
| 36 | | 36 |
Revision as of 12:52, 5 October 2022
SITS system calls were done using EMT in older versions, and TRAP in newer. The system call number makes up the lower 7 bits. Bit 200 can be set to have the call fault on error, in which case a $ replaces the . in the symbolic name.
System call inputs are popped off the stack, and outputs are pushed. On error, the Z flag is set and arguments are left on the stack. In the table below, (C) indicates a capability.
Number | Name | Function | Inputs | Outputs | |||
---|---|---|---|---|---|---|---|
0 | .NOOP | - | - | - | |||
1 | .FORK | Create new process | Entry point | - | |||
2 | .POOFF | Kill this process | - | - | |||
3 | .SLEEP | Sleep | Time (least significant) | Time (most significant) | - | ||
4 | .SINK | Disable floating point | - | - | |||
5 | .FLOAT | Enable floating point | - | - | |||
6 | .INVOK | Invoke capability | Function,,capability (C) | argument | argument | (Variable) | |
7 | .QULK | Lock queue | Queue (C) | - | |||
10 | .QUNLK | Unlock queue | Queue (C) | - | |||
11 | .TTGIV | Give TTY away | Master sphere (C) | Teletype (C) | - | ||
12 | .TTGET | Get the TTY | Teletype (C) | - | |||
13 | .WRDI | Word input | File (C) | Data | |||
14 | .WRDO | Word output | File (C) | - | |||
15 | .BYTI | Byte input | File (C) | Data | |||
16 | .BYTO | Byte output | File (C) | - | |||
17 | .BLKI | Block input File (C) | File (C) | Length | Address | - | |
20 | .BLKO | Block output | File (C) | Length | Address | - | |
21 | .MAP | Create page | Access,,sphere (C) | Destination page,,source type | Source page | Page length,,page offset | - |
22 | .ALLOC | Allocate swap | Size | Start | Disk | - | |
23 | .CRUSR | Make this a user process | Copy name | Length of name | Pointer to name | - | |
24 | .RDMAP | Read map | Sphere (C) | Address | - | ||
25 | .FONT | Read or write font | Function,,font | Address | - | ||
26 | .SSTAT | Read system status | Address | - | |||
27 | .VIDSW | Set video switch modes | Source | Destination | - | ||
30 | .RUG | System sphere breakpoint to RUG | - | - | |||
31 | .GERRW | Get error word | - | (Variable) | |||
32 | .TIME | Get or set time | - | ||||
33 | .SYSJB | Perform system job | - | - | |||
34 | .GETID | Get process id | - | Id | |||
35 | .MFPI | (?) | Address | Data | |||
36 | .OSPAC | (?) | - |