g intel linux 汇编_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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值