www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - lidt assembly instruction argument?

reply Braden MacDonald <bradenm_k shaw.ca> writes:
Hi Everyone, 
 I'm having some trouble getting an IDT loaded into the processor.
I though 
that the lidt instruction took a pointer (e.g. 32-bits), but dmd only
compiles 
my code if I pass it a 64-bit argument. What is this argument supposed
to be? 
 
 Thanks a lot. 
  Braden 
May 30 2004
next sibling parent Braden MacDonald <bradenm_k shaw.ca> writes:
See the example at: http://osdev.neopages.net/tutorials/interrupts.3.php
(Scroll down to the bottom). Here, NASM takes a pointer to a 6-byte
structure for its lidt instruction. I don't see why D asks for an 8 byte
parameter.

Braden MacDonald wrote:
 Hi Everyone,
  I'm having some trouble getting an IDT loaded into the processor.
 I thought that the lidt instruction took a pointer (e.g. 32-bits), but 
 dmd only compiles my code if I pass it a 64-bit argument. What is this
 argument supposed  to be?
  
  Thanks a lot.
   Braden

-- Braden MacDonald
Jun 01 2004
prev sibling parent reply "Walter" <newshound digitalmars.com> writes:
I'll check it out. In the meantime, you can just use db's to put in the
right bits for the instruction you want.
Jun 03 2004
parent Braden MacDonald <bradenm_k shaw.ca> writes:
In article <c9mp8b$1vlp$2 digitaldaemon.com>, Walter says... 
 Braden says...
 Hi Everyone,  
 I'm having some trouble getting an IDT loaded into the processor. 
 I thought that the "lidt" instruction took a pointer (e.g. 32-bits), 
 but dmd only compiles my code if I pass it a 64-bit argument. 
 What is this argument supposed to be?  
  
 Thanks a lot.  
  Braden  

I'll check it out. In the meantime, you can just use db's to put in the right bits for the instruction you want.

Any updates on this? If not, how do db's using D inline assembler?
Jun 24 2004