在哪里可以找到i486-linux-gnu指令集的中断列表?

时间:2009-04-07 03:33:29

标签: linux assembly gnu compiler-construction gas

我正在为我在学校的高级项目开发一个编译器,我正在使用AS(GNU Assembler)进行组装。我的所有测试都相当成功,但我看到的中断列表似乎没有与我的测试代码一致或匹配。

此版本AS的相关信息:

GNU汇编程序2.17 Debian GNU / Linux 版权所有2005 Free Software Foundation,Inc。 这个程序是免费软件;你可以根据条款重新分配 GNU通用公共许可证。该计划绝对没有保修。 这个汇编程序配置为`i486-linux-gnu'的目标。

3 个答案:

答案 0 :(得分:3)

在linux中,你使用一个中断:80h。该中断对应的系统调用可以在this table中找到。

答案 1 :(得分:2)

Linux不像DOS那样使用中断进行系统调用。它使用依赖于体系结构的方法进行系统调用,在x86上可以是int 0x80,但现代(Pentium +)CPU应该使用SYSENTER指令。不使用其他软件中断。

通常你不担心这个,因为即使在汇编语言中,你可能仍然想要使用包装它们的C库。

答案 2 :(得分:0)

IMHO连接中断的方式是特定于硬件的。查看Linux内核如何处理您所针对的硬件上的中断可能很有教育意义。