aboutsummaryrefslogtreecommitdiff
path: root/std/std.zig
diff options
context:
space:
mode:
Diffstat (limited to 'std/std.zig')
-rw-r--r--std/std.zig26
1 files changed, 8 insertions, 18 deletions
diff --git a/std/std.zig b/std/std.zig
index d3ce4f976c..b0aa266be6 100644
--- a/std/std.zig
+++ b/std/std.zig
@@ -3,27 +3,17 @@ const SYS_exit : isize = 60;
const stdout_fileno : isize = 1;
fn syscall1(number: isize, arg1: isize) -> isize {
- asm volatile ("
- mov %[number], %%rax
- mov %[arg1], %%rdi
- syscall
- mov %%rax, %[ret]"
- : [ret] "=r" (return isize)
- : [number] "r" (number), [arg1] "r" (arg1)
- : "rcx", "r11", "rax", "rdi")
+ asm volatile ("syscall"
+ : [ret] "={rax}" (return isize)
+ : [number] "{rax}" (number), [arg1] "{rdi}" (arg1)
+ : "rcx", "r11")
}
fn syscall3(number: isize, arg1: isize, arg2: isize, arg3: isize) -> isize {
- asm volatile ("
- mov %[number], %%rax
- mov %[arg1], %%rdi
- mov %[arg2], %%rsi
- mov %[arg3], %%rdx
- syscall
- mov %%rax, %[ret]"
- : [ret] "=r" (return isize)
- : [number] "r" (number), [arg1] "r" (arg1), [arg2] "r" (arg2), [arg3] "r" (arg3)
- : "rcx", "r11", "rax", "rdi", "rsi", "rdx")
+ asm volatile ("syscall"
+ : [ret] "={rax}" (return isize)
+ : [number] "{rax}" (number), [arg1] "{rdi}" (arg1), [arg2] "{rsi}" (arg2), [arg3] "{rdx}" (arg3)
+ : "rcx", "r11")
}
pub fn write(fd: isize, buf: &const u8, count: usize) -> isize {