List of SITS system calls
From Computer History Wiki
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 | Description | 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 | Address of six words: seconds, minutes, hours, days, months, years | - | |||
33 | .SYSJB | Perform system job | - | - | |||
34 | .GETID | Get process id | - | Id | |||
35 | .MFPI | Read word from instruction address space | Address | Data | |||
36 | .OSPAC | (?) | - |
The .INVOK call is further decoded from the function:
Number | Name | Description | Input |
---|---|---|---|
200 | .DELCP | Delete capacity | - |
201 | .CPYCP | Copy capacity | Control bits to clear |
202 | .GIVCP | Give capacity to another sphere | Source |
203 | .TAKCP | Take capacity from the sphere | C-list |