求Linux 内核中断 INT 80H 详细资料
发布网友
发布时间:2022-04-28 16:45
我来回答
共2个回答
热心网友
时间:2022-06-19 18:58
int 80h 是 unix/linux 类操作系统内核在 Intel 类CPU架构上作为 系统调用 使用的中断号。常用的系统调用如 write, exit 之类的, 在 glibc中都有对应的接口函数可以直接使用。具体有哪些系统调用,用途,调用号的,楼主自己去找一下相关资料即可。
在
int 80h
调用系统调用前,应该将 系统调用号 存入 eax, 参数存入其他寄存器中,然后再 int 80h,比如下面的例子,用 int 80h 调用 第4号 系统调用 (即 write), 将 "hello world" 打印到标准输出
(我用的是 at&t 风格的汇编,这是 gcc 默认使用的格式)
.data
hello:
.string "Hello world\n"
.globl main
main:
movl $4, %eax
movl $1, %ebx
movl $hello, %ecx
movl $12, %edx
int $0x80
ret
把上面的内容存入 xxx.s ,然后用 gcc xxx.s -o xxx 即可编译出可执行文件。
热心网友
时间:2022-06-19 18:59
INT 80中断是Linux系统提供的软终端调用号....追问这不是废话么
所以需要这些详细资料。