-
Notifications
You must be signed in to change notification settings - Fork 3
/
syscalls.asi
44 lines (43 loc) · 764 Bytes
/
syscalls.asi
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
41
42
43
44
@ Copyright (c) 2009, Gerard Lledo Vives <[email protected]>
@ This program is open source. For license terms, see the LICENSE file.
.macro exit status
mov r0, \status
mov r7, #1
svc #0
.endm
.macro read fd, buf, count
mov r2, \count
mov r1, \buf
mov r0, \fd
mov r7, #3
svc #0
.endm
.macro write fd, buf, count
mov r2, \count
mov r1, \buf
mov r0, \fd
mov r7, #4
svc #0
.endm
.macro brk addr
mov r0, \addr
mov r7, #45
svc #0
.endm
.macro fcntl fd, cmd, arg
mov r2, \arg
mov r1, \cmd
mov r0, \fd
mov r7, #55
svc #0
.endm
.macro mmap2 addr, length, prot, flags, fd, pgoffset
mov r5, \pgoffset
mov r4, \fd
mov r3, \flags
mov r2, \prot
mov r1, \length
mov r0, \addr
mov r7, #192
svc #0
.endm