blob: ab71fc6d5ccd1c467467a036f266686787bcafe9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# xstormy16 system calls for the simulator
#include <syscall.h>
.text
define(`syscall',`.globl _`'$1
_`'$1`':
mov r1,#SYS_$1
.hword 0x0001
bnz r1,#0,syscall_error
ret
0: .size $1,0b-_$1
')dnl
syscall(exit)
syscall(open)
syscall(close)
syscall(read)
syscall(write)
syscall(lseek)
syscall(unlink)
syscall(getpid)
syscall(kill)
syscall(fstat)
syscall(chdir)
syscall(stat)
syscall(chmod)
syscall(utime)
syscall(time)
syscall(gettimeofday)
syscall(times)
syscall(link)
dnl
syscall_error:
push r0
callf __errno
pop r0
mov.w (r2),r0
ret
0: .size syscall_error,0b-syscall_error
|