Real mode interrupt vectors

Ian McCulloch ianmcc at
Thu Apr 3 08:53:20 EST 2003

Hmm, I threw out my x86 programming book a few years ago, so I probably 
can't help.  I assume %ds is set to zero somewhere?  That is the only 
thing I can think of atm...


On Thu, 3 Apr 2003, Michael Still wrote:

> Okie,
> in furtherance to my turnipism from yesterday, I am now having trouble
> installing a real mode interrupt handler. My code is something along the
> lines of:
> bad_op_mess:	.string	"Hey, try the right CPU, turnip!"
> bad_opcode:	lea	bad_op_mess, %si
> 		call	prtstr
> 		cli
> 		hlt
> (All of which I believe works. prtstr is a method which prints out a
> string to the screen)
> Now I want to install the interrupt handler. I'm after interrupt 6, so I
> do:
> 		lea	bad_opcode, %si
> 		mov	%si, 0x1A
> 		mov	%cs, 0x18
> This bit doesn't seem to work. My understanding that interrupt 6 should
> occupy bytes 24 - 27 in the ineterrupt vector, which is at the start of
> memory. Obviously I am wrong.
> There doesn't seem to be much doco out there for real mode, it's all for
> protected mode. Does anyone want to give me a hint?
> Thanks,
> Mikal

More information about the linux mailing list