2
votes

I have decided to start learning 32-bit x86 intel nasm syntax, I have a good ammount of programming with 16-bit, and have been doing a bit of research into 32-bit, and I have a few questions about interrupts:

Is there any difference between the interrupts? (Can I use the same interrupts from 16-bit assembly) If the interrupt list is the same do I have to specify if it is a 32-bit interrupt? (for int. 0x16 use eax instead of ax to put the read byte in).

also, I did try to google the answers, but I can't find them.

EDIT :: I didn't think about including my OS, but right now I'm on linux mint 12.

1
Sorry, I'll edit out the other questions, and change the title, and add the other questions as independent questions.JAW1025
This is going to depend entirely on the operating system you use.500 - Internal Server Error
What you're talking about are CPU registers (eax, ax) and not interrupts.Ken White
What I thought I was asking was weather the interrupts for 32-bit assembly are the same as the 16-bit assembly interrupts.JAW1025

1 Answers

2
votes
  1. If you run you program in real mode (under MS-DOS, for example), you'll be able to use the same DOS/BIOS services you used to in your 16-bit programs.
  2. I'm afraid you won't be able to specify that you are going to use 32-bit registers as there are no 32-bit support for BIOS int 10h, int 13h, etc. Only the contents of 16-bit registers will be taken into account.
  3. No, there's no name for the upper halves of 32-bit registers, you need to use bit masks and/or bit-shifting instructions to access them.