NASM中断x86参考?
我似乎找不到关于 Linux 系统上 NASM x86 中断的好参考。例如,int 0x60
是什么?它与 int 0x80
有什么不同?
是否有手册列出了可以与 int 结合使用的所有中断号指令?
I can't seem to find a good reference for NASM x86 interrupts on a Linux system. For example, what is int 0x60
and how is it different from int 0x80
?
Is there a manual somewhere which will list all the interrupt numbers which can be used in conjunction with the int instruction?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Linux 仅使用
int 0x80
(或sysenter
或syscall
),调用号位于 EAX 中。检查unistd_32.h
,并查看对于 16 位x86 中,不同接口组的不同中断号由来已久,通常只有 AH 中有一个调用号。
还有 Ralph Brown 的...已经很多年了...
您可以向 Wiki 询问路线,而不是在沙漠中寻找一粒沙子:
BIOS
DOS
Linux only uses
int 0x80
(orsysenter
orsyscall
), with a call number in EAX. Checkunistd_32.h
, and seeFor 16-bit x86, there's a long history of different interrupt numbers for different groups of interfaces, often with a call number in just AH.
There is the Ralph Brown's... It's soo many years...
Instead of looking for a grain of sand in the desert, you could ask directions to Wiki:
BIOS
DOS
您可以使用 1 到 255 之间的任何数字。这些是软件生成的中断
它的含义/行为很大程度上取决于您运行它的操作系统!或者更准确地说,是在 IDT 中处理该中断的注册例程上。
You can use any number from 1 to 255. Those are software generated interrupts
But the meaning/behaviour of it will pretty much depend on the operating system you are running it on! Or more exactly on the registered routine in the IDT that will handle that interrupt.