linux c嵌入汇编语言,linux 下的c和intel 汇编语言混用 -ag凯发k8国际
test.s (转载)
--------------------------------------------------------------------
; test.s
section
.data ; 数据段声明
msg db "hello, world!",
0xa ; 要输出的字符串
len equ $ -
msg ; 字串长度
section
.text ; 代码段声明
global test
test: ; 在屏幕上显示一个字符串
mov edx,
len ; 参数三:字符串长度
mov ecx,
msg ; 参数二:要显示的字符串
mov ebx,
1 ; 参数一:文件描述符(stdout)
mov eax,
4 ; 系统调用号(sys_write)
int
0x80 ; 调用内核功能
; 退出程序
mov ebx,
0 ; 参数一:退出代码
mov eax,
1 ; 系统调用号(sys_exit)
int
0x80 ; 调用内核功能
----------------------------------------------------------------------
test.h
--------------------------------------------------------------------
#pragma once
void test();
--------------------------------------------------------------------
main.c
--------------------------------------------------------------------
int main(int argc, char* argv[])
{
test();
return
0;
}
--------------------------------------------------------------------
编译:
1.首先要安装nasm包,以支持intel汇编的编译
2. nasm -f elf64 test.s (64位系统, 生成test.o文件)
3. gcc -o test main.c test.o (编译成可执行程序test)
--------------------------------------------------------------------
总结
以上是ag凯发k8国际为你收集整理的linux c嵌入汇编语言,linux 下的c和intel 汇编语言混用的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: linux bash 局部变量赋值,li
- 下一篇: linux如何捕获9的信号,2018-9