linux int 0x80系统调用
系统调用汇编实现:
-
.section .data
-
msg:
-
.ascii "hello world!\n"
-
-
.section .text
-
-
.global _start
-
-
-
_start:
-
movl $4, %eax #write(_NR_write)功能号
-
movl $1, %ebx #文件描述符fd
-
movl $msg, %ecx #消息指针
-
movl $13, %edx #消息长度
-
int $0x80 #进行系统调用
-
movl $1, %eax #exit功能号
-
movl $0, %ebx #exit值返回0
-
int $0x80 #进行系统调用
-
-
#eax,ebx,ecx,edx...为函数参数
编译方法:
as -o syscall.o syscall.s
ld -o syscall syscall.o
阅读(1224) | 评论(0) | 转发(0) |