Chinaunix首页 | 论坛 | 博客
  • 博客访问: 439089
  • 博文数量: 71
  • 博客积分: 26
  • 博客等级: 民兵
  • 技术积分: 1246
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-23 14:46
个人简介

linux --- 一切皆文件

文章分类

全部博文(71)

文章存档

2021年(1)

2019年(2)

2018年(4)

2017年(7)

2016年(11)

2015年(1)

2014年(2)

2013年(33)

2012年(10)

分类: C/C++

2017-11-06 14:17:11

linux int 0x80系统调用


系统调用汇编实现:

点击(此处)折叠或打开

  1. .section .data
  2. msg:
  3.         .ascii "hello world!\n"

  4. .section .text

  5. .global _start


  6. _start:
  7.         movl $4, %eax #write(_NR_write)功能号
  8.         movl $1, %ebx #文件描述符fd
  9.         movl $msg, %ecx #消息指针
  10.         movl $13, %edx #消息长度
  11.         int $0x80 #进行系统调用
  12.         movl $1, %eax #exit功能号
  13.         movl $0, %ebx #exit值返回0
  14.         int $0x80 #进行系统调用

  15. #eax,ebx,ecx,edx...为函数参数

编译方法:
as -o syscall.o syscall.s
ld -o syscall syscall.o

阅读(1224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~