E
Hier ein kleines Beispielprogramm von mir, das auf 64bit Linux den write-Syscall auslöst. Da kannst du dir die Lösung für dein Problem rauspicken:
Word Write(Word fd, Word buffer, Word len)
{
Word result;
asm
(
"movq %1, %%rax;" // Set Syscall number.
"mov %2, %%rdi;" // Set target file descriptor.
"movq %3, %%rsi;" // Set buffer pointer.
"movq %4, %%rdx;" // Set buffer length.
"syscall;" // Enter kernel.
"movq %%rax, %0;" // Fetch result.
: "=r"(result)
: "r"(SYSCALL_WRITE_NO), "r"(fd), "r"(buffer), "r"(len)
: "%rax", "%rdi", "%rsi", "%rdx"
);
return result;
}