Difference between revisions of "List of SITS system calls"

From Computer History Wiki
Jump to: navigation, search
(Add more.)
(Add more.)
Line 1: Line 1:
 
[[SITS]] system calls were done using EMT in loder 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.
 
[[SITS]] system calls were done using EMT in loder 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 arguments go on the stack.
+
System call arguments go on the stack.  (C) indicates a capability.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 8: Line 8:
 
! Name
 
! Name
 
! Function
 
! Function
! Arguments
+
! colspan="3" | Arguments
! Return values
 
 
|-
 
|-
 
| 0
 
| 0
 
| .NOOP
 
| .NOOP
 
| None
 
| None
| None
+
| colspan="3" | None
| None
 
 
|-
 
|-
 
| 1
 
| 1
 
| .FORK
 
| .FORK
 
| Create new process
 
| Create new process
| Entry point
+
| colspan="3" | Entry point
| None
 
 
|-
 
|-
 
| 2
 
| 2
 
| .POOFF
 
| .POOFF
| Kill self
+
| Kill this process
| None
+
| colspan="3" | None
| None
 
 
|-
 
|-
 
| 3
 
| 3
 
| .SLEEP
 
| .SLEEP
 
| Sleep
 
| Sleep
| Long word: positive number 60th seconds, or negative time to continue
+
| Time
| None
+
| colspan="2" | Time
 
|-
 
|-
 
| 4
 
| 4
 
| .SINK
 
| .SINK
 
| Disable floating point
 
| Disable floating point
| None
+
| colspan="3" | None
| None
 
 
|-
 
|-
 
| 5
 
| 5
 
| .FLOAT
 
| .FLOAT
 
| Enable floating point
 
| Enable floating point
| None
+
| colspan="3" | None
| None
 
 
|-
 
|-
 
| 6
 
| 6
 
| .INVOK
 
| .INVOK
 
| Invoke capability
 
| Invoke capability
| Capability and two more arguments
+
| Capability (C)
|
+
| argument
 +
| argument
 
|-
 
|-
 
| 7
 
| 7
 
| .QULK
 
| .QULK
 
| Lock queue  
 
| Lock queue  
| Queue
+
| colspan="3" | Queue (C)
|
 
 
|-
 
|-
 
| 10
 
| 10
 
| .QUNLK
 
| .QUNLK
 
| Unlock queue
 
| Unlock queue
| Queue
+
| colspan="3" | Queue (C)
|
 
 
|-
 
|-
 
| 11
 
| 11
 
| .TTGIV
 
| .TTGIV
 
| Give TTY away
 
| Give TTY away
| Master sphere, and teletype
+
| Master sphere (C)
|
+
| colspan="2" | Teletype (C)
 
|-
 
|-
 
| 12
 
| 12
 
| .TTGET
 
| .TTGET
 
| Get the TTY
 
| Get the TTY
| Teletype
+
| colspan="3" | Teletype (C)
|
 
 
|-
 
|-
 
| 13
 
| 13
 
| .WRDI
 
| .WRDI
|
+
| Word input
|
+
| colspan="3" |  
|
 
 
|-
 
|-
 
| 14
 
| 14
 
| .WRDO
 
| .WRDO
|
+
| Word output
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 15
 
| 15
 
| .BYTI
 
| .BYTI
|
+
| Byte input
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 16
 
| 16
 
| .BYTO
 
| .BYTO
|
+
| Byte output
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 17
 
| 17
 
| .BLKI
 
| .BLKI
|
+
| Block input
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 20
 
| 20
 
| .BLKO
 
| .BLKO
|
+
| Block output
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 21
 
| 21
 
| .MAP
 
| .MAP
|
+
| Create page
|
+
| colspan="3" |  
|
 
 
|-
 
|-
 
| 22
 
| 22
 
| .ALLOC
 
| .ALLOC
|
+
| Allocate swap
|
+
| Size
|
+
| Start
 +
| Disk
 
|-
 
|-
 
| 23
 
| 23
 
| .CRUSR
 
| .CRUSR
|
+
| Make this a user process
|
+
| Copy name
|
+
| Length of name
 +
| Pointer to name
 
|-
 
|-
 
| 24
 
| 24
 
| .RDMAP
 
| .RDMAP
|
+
| Read map
|
+
| Sphere (C)
|
+
| colspan="2" | Address
 
|-
 
|-
 
| 25
 
| 25
 
| .FONT
 
| .FONT
|
+
| Read or write font
|
+
| Function,,font
|
+
| colspan="2" | Address
 
|-
 
|-
 
| 26
 
| 26
 
| .SSTAT
 
| .SSTAT
|
+
| Read system status
|
+
| colspan="3" | Address
|
 
 
|-
 
|-
 
| 27
 
| 27
 
| .VIDSW
 
| .VIDSW
|
+
| Set video switch modes
|
+
| Source
|
+
| colspan="2" | Destination
 
|-
 
|-
 
| 30
 
| 30
 
| .RUG
 
| .RUG
|
+
| Hack system sphere(?)
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 31
 
| 31
 
| .GERRW
 
| .GERRW
|
+
| Get error word
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 32
 
| 32
 
| .TIME
 
| .TIME
|
+
| Get or set time
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 33
 
| 33
 
| .SYJB
 
| .SYJB
|
+
| Perform system job
|
+
| colspan="3" | None
|
 
 
|-
 
|-
 
| 34
 
| 34
 
| .GETID
 
| .GETID
|
+
| Get process id
|
+
| colspan="3" |
|
 
 
|-
 
|-
 
| 35
 
| 35
 
| .MFPI
 
| .MFPI
 
|
 
|
|
+
| colspan="3" | Address
|
 
 
|-
 
|-
 
| 36
 
| 36
 
| .OSPAC
 
| .OSPAC
 
|
 
|
|
+
| colspan="3" |
|
 
 
|}
 
|}

Revision as of 13:01, 5 October 2022

SITS system calls were done using EMT in loder 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 arguments go on the stack. (C) indicates a capability.

Number Name Function Arguments
0 .NOOP None None
1 .FORK Create new process Entry point
2 .POOFF Kill this process None
3 .SLEEP Sleep Time Time
4 .SINK Disable floating point None
5 .FLOAT Enable floating point None
6 .INVOK Invoke capability Capability (C) argument argument
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
14 .WRDO Word output
15 .BYTI Byte input
16 .BYTO Byte output
17 .BLKI Block input
20 .BLKO Block output
21 .MAP Create page
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 Hack system sphere(?)
31 .GERRW Get error word
32 .TIME Get or set time
33 .SYJB Perform system job None
34 .GETID Get process id
35 .MFPI Address
36 .OSPAC