在X86程序集中进行系统调用

时间:2018-04-15 10:22:04

标签: assembly system-calls

我无法在X86 ASM for Linux中编写系统调用。 我正在阅读这篇"教程"

https://en.wikibooks.org/wiki/X86_Assembly/Interfacing_with_Linux

但我不想使用" hello world"在.rodata部分:我想在堆栈中创建它,然后将其与syscall一起使用。 在C语言中,它应该写成

cd

我无法使用int 0x80在ASM中编写它。有什么建议吗?

我已经尝试过,但代码很乱。这是我的代码:

#include <unistd.h>
int main() { 
    char string[12] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '\0'};
    write(1, string, 11); 
    return 0; 
} 

这是一个很好的方法吗?还有更好的方法吗?

0 个答案:

没有答案