【发布时间】:2015-04-30 12:51:43
【问题描述】:
如何在 x86-64 linux 中实现 brk 系统调用?我的代码如下:
Mysyscall(uint64_t n, uint64_t a1){
uint64_t ret;
__asm__ __volatile__("movq %0, %%rax\n\t"
"movq %1, %%rdi\n\t"
"syscall\n"
: "=r"(ret)
: "g"(n), "g"(a1));
return ret; }
Mysyscall(SYS_brk, uint64_t increment);
但它不起作用。我想我可能对 asm 操作数使用了错误的约束。但仍然很难弄清楚。
【问题讨论】:
标签: x86-64 inline-assembly system-calls