开发者

NASM interrupt x86 reference?

开发者 https://www.devze.com 2023-02-16 08:11 出处:网络
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?

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 开发者_如何学Cwhich will list all the interrupt numbers which can be used in conjunction with the int instruction?


Linux only uses int 0x80 (or sysenter or syscall), with a call number in EAX. Check unistd_32.h, and see

  • What are the calling conventions for UNIX & Linux system calls (and user-space functions) on i386 and x86-64
  • What happens if you use the 32-bit int 0x80 Linux ABI in 64-bit code?

For 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...

  • http://www.ctyme.com/rbrown.htm

Instead of looking for a grain of sand in the desert, you could ask directions to Wiki:

BIOS

  • http://en.wikipedia.org/wiki/INT_10H
  • http://en.wikipedia.org/wiki/INT_13H
  • http://en.wikipedia.org/wiki/BIOS_interrupt_call

DOS

  • http://en.wikipedia.org/wiki/MS-DOS_API


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号