List of SITS system calls

From Computer History Wiki
Jump to: navigation, search

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