linux c嵌入汇编语言,Linux 下的C和Intel 汇编语言混用
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)
--------------------------------------------------------------------
總結
以上是生活随笔為你收集整理的linux c嵌入汇编语言,Linux 下的C和Intel 汇编语言混用的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: linux bash 局部变量赋值,li
- 下一篇: linux如何捕获9的信号,2018-9
