996
|
1 DO NOTE: THIS LIBRARY ADDS SYSTEM CALL INTERFACE TO "SICK"
|
|
2
|
|
3 Copyright (c) 2006-2008 Claudio Calvelli, all rights reserved.
|
|
4
|
|
5 CLC-INTERCAL is copyrighted software. However, permission to use, modify,
|
|
6 and distribute it is granted provided that the conditions set out in the
|
|
7 licence agreement are met. See files README and COPYING in the distribution.
|
|
8
|
|
9 PERVERSION "CLC-INTERCAL INTERCAL/Include/syscall.iasm 1.-94.-2"
|
|
10
|
|
11 [ FLA { #84 #89 #80 #69}
|
|
12 { #69 #88 #84 #69 #78 #83 #73 #79 #78 } ]
|
|
13 [ STO #666 %OS ]
|
|
14
|
|
15 PLEASE NOTE: SYSCALL #0 - NO OPERATION
|
|
16 [ SYS #0 #0 ]
|
|
17
|
|
18 PLEASE NOTE: SYSCALL #1 - (PER)VERSION NUMBER
|
|
19 [ SYS #1 [
|
|
20 STO #11 TAI NUM OWN #1 %OS +
|
|
21 STO #95 SUB #1 TAI NUM OWN #1 %OS +
|
|
22 STO #91 SUB #2 TAI NUM OWN #1 %OS +
|
|
23 STO #87 SUB #3 TAI NUM OWN #1 %OS +
|
|
24 STO #92 SUB #4 TAI NUM OWN #1 %OS +
|
|
25 STO #67 SUB #5 TAI NUM OWN #1 %OS +
|
|
26 STO #88 SUB #6 TAI NUM OWN #1 %OS +
|
|
27 STO #74 SUB #7 TAI NUM OWN #1 %OS +
|
|
28 STO #92 SUB #8 TAI NUM OWN #1 %OS +
|
|
29 STO #67 SUB #9 TAI NUM OWN #1 %OS +
|
|
30 STO #65 SUB #10 TAI NUM OWN #1 %OS +
|
|
31 STO #0 SUB #11 TAI NUM OWN #1 %OS] ]
|
|
32
|
|
33 PLEASE NOTE: SYSCALL #2 - INTERCAL DIALECT
|
|
34 [ SYS #2 [
|
|
35 STO #17 TAI NUM OWN #1 %OS +
|
|
36 STO #91 SUB #1 TAI NUM OWN #1 %OS +
|
|
37 STO #95 SUB #2 TAI NUM OWN #1 %OS +
|
|
38 STO #78 SUB #3 TAI NUM OWN #1 %OS +
|
|
39 STO #83 SUB #4 TAI NUM OWN #1 %OS +
|
|
40 STO #78 SUB #5 TAI NUM OWN #1 %OS +
|
|
41 STO #91 SUB #6 TAI NUM OWN #1 %OS +
|
|
42 STO #67 SUB #7 TAI NUM OWN #1 %OS +
|
|
43 STO #95 SUB #8 TAI NUM OWN #1 %OS +
|
|
44 STO #70 SUB #9 TAI NUM OWN #1 %OS +
|
|
45 STO #76 SUB #10 TAI NUM OWN #1 %OS +
|
|
46 STO #80 SUB #11 TAI NUM OWN #1 %OS +
|
|
47 STO #65 SUB #12 TAI NUM OWN #1 %OS +
|
|
48 STO #74 SUB #13 TAI NUM OWN #1 %OS +
|
|
49 STO #78 SUB #14 TAI NUM OWN #1 %OS +
|
|
50 STO #67 SUB #15 TAI NUM OWN #1 %OS +
|
|
51 STO #83 SUB #16 TAI NUM OWN #1 %OS +
|
|
52 STO #0 SUB #17 TAI NUM OWN #1 %OS] ]
|
|
53
|
|
54 PLEASE NOTE: SYSCALL #3 - OPEN FILE
|
|
55 [ SYS #3 [
|
|
56 STO UNE MUL { #71 #101 #110 #101 #114 #105 #99 #73 #79 }
|
|
57 MUL { #110 #101 #119 }
|
|
58 [ MUL { #91 #95 #77 #70 #83 #65 } +
|
|
59 TSP NUM OWN #1 %OS +
|
|
60 TAI NUM OWN #1 %OS ]
|
|
61 WHP NUM OWN #1 %OS ] ]
|
|
62
|
|
63 PLEASE NOTE: SYSCALL #4 - RESET FILE
|
|
64 [ SYS #4 [
|
|
65 UNS MUL { #71 #101 #110 #101 #114 #105 #99 #73 #79 }
|
|
66 MUL { #114 #101 #115 #101 #116 }
|
|
67 [ WHP NUM OWN #1 %OS ] ] ]
|
|
68
|
|
69 PLEASE NOTE: SYSCALL #5 - SEEK FILE (SEEK_SET ONLY)
|
|
70 [ SYS #5 [
|
|
71 UNS MUL { #71 #101 #110 #101 #114 #105 #99 #73 #79 }
|
|
72 MUL { #115 #101 #101 #107 }
|
|
73 [ WHP NUM OWN #1 %OS +
|
|
74 TSP NUM OWN #1 %OS ] ] ]
|
|
75
|
|
76 PLEASE NOTE: SYSCALL #6 - OPEN TCP SOCKET
|
|
77 [ SYS #6 [
|
|
78 STO UNE MUL { #71 #101 #110 #101 #114 #105 #99 #73 #79 }
|
|
79 MUL { #110 #101 #119 }
|
|
80 [ MUL { #91 #95 #80 #78 #86 } +
|
|
81 TSP NUM OWN #1 %OS +
|
|
82 TAI NUM OWN #1 %OS +
|
|
83 MUL { #91 #91 #80 #80 #95 #69 #65 #74 #94 #65 #74 #91 #91 #83 #83 } ]
|
|
84 WHP NUM OWN #1 %OS ] ]
|
|
85
|
|
86 PLEASE NOTE: SYSCALL #7 - TOGGLE NEWLINE HANDLING
|
|
87 [ SYS #7 [
|
|
88 UNS MUL {}
|
|
89 MUL { #95 #110 #101 #119 #108 #105 #110 #101 }
|
|
90 [ MUL { #91 #91 #80 #80 #95 #80 #86 #91 #91 #83 #83 } ] ] ]
|
|
91
|
|
92 PLEASE NOTE: THAT'S IT FOR NOW
|
|
93 [ GUP ]
|
|
94
|