int main() {
const char *msg = "hello\n";
asm("mov $1, %%rax\n" // 系统调用号 (sys_write)
"mov $2, %%rdi\n" // 文件描述符 (stdout)
"mov %0, %%rsi\n" // 消息地址
"mov $6, %%rdx\n" // 消息长度
"syscall\n" // 调用内核
:
: "r"(msg) // 内联汇编输入操作数
: "rax", "rdi", "rsi", "rdx"); // 被破坏的寄存器
return 0;
}
x86-64架构C语言通过内联汇编直接调用Linux系统调用
发布于 2024-06-22 87 次阅读
Comments NOTHING