comp.lang.ada
 help / color / mirror / Atom feed
From: sk <noname@myob.com>
Cc: comp.lang.ada@ada-france.org
Subject: Re: Hardware Interrupts
Date: Sat, 21 Feb 2004 16:32:14 -0600
Date: 2004-02-21T16:32:14-06:00	[thread overview]
Message-ID: <mailman.6.1077402404.327.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: 000501c3f8bb$189b2760$0201a8c0@win

andrew@carroll-tech.net:

 > procedure getequipment is
 >  type equiplist is array(0..15) of boolean;
 >  package boolean_io is new enumeration_io(boolean);
 >  procedure getlist(list: out equiplist);
 >  for getlist use at reference(16#11#);
 >  mylist: equiplist;
 > begin

I don't know any answers to your questions. What I do
remember about any assembly calls to BIOS interrupts
is that you have to set up the registers with parameters
etc.

You are using GNAT from your examples. Which version
and platform ?

If it is an Intel compiler running in "protected" mode,
that is 32-bit address space etc, the physical address
"16#11# does not corespond to the interrupt 11. Once
32-bit protected mode is entered, the Interrupts are
gated and are typically not at the booting 0 .. 255
address space of an Intel 386 processor boot prior to
entering protected mode.

Another thing to note is that, I believe, the BIOS
is not accessible as regular memory once Intel 32-bit
protected mode is established (I could be wrong on this :-)

If you are still determined to go into never-never land,
you need to look at Ada's machine code insertions. The
code you posted looks potentially fatal to your machine.

So, beyond Gnat telling you the code is non-portable, I
would say it is also, at the least, not what you are
looking for, at worst calling "format disk" which is
a BIOS routine of almost 20 years ago before the
current IDE standards were established.

Sorry, not much help, but I am hoping that you don't
trash your system by being determined to call a
possible inaccessible BIOS.

Simon :-)

-- 
-------------------------------------------------
-- Merge vertically for real address
--
--     s n p @ t . o
--      k i e k c c m
-------------------------------------------------




  parent reply	other threads:[~2004-02-21 22:32 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20040221110026.E93C54C40C5@lovelace.ada-france.org>
2004-02-21 20:39 ` Hardware Interrupts Carroll-Tech
2004-02-21 21:32   ` system calls, was " tmoran
     [not found] ` <000501c3f8bb$189b2760$0201a8c0@win>
2004-02-21 22:32   ` sk [this message]
     [not found] <20040222005514.BF2284C40CF@lovelace.ada-france.org>
2004-02-22  3:01 ` Carroll-Tech
2004-02-22  6:39   ` tmoran
     [not found] ` <003901c3f8f0$1cfd2ee0$0201a8c0@win>
2004-02-22 21:20   ` sk
     [not found] <20040222110018.15E3A4C40CF@lovelace.ada-france.org>
2004-02-23  9:56 ` Carroll-Tech
2004-02-23 19:00   ` tmoran
2004-02-23 20:39     ` Brian Catlin
2004-02-23 21:06       ` David C. Hoos
2004-02-23 21:56         ` Brian Catlin
     [not found] ` <001501c3f9f3$533ece60$0201a8c0@win>
2004-02-23 19:49   ` sk
     [not found] <20040224021013.DE8C84C40D0@lovelace.ada-france.org>
2004-02-24 11:04 ` Carroll-Tech
2004-02-24 12:58   ` Preben Randhol
     [not found] <m24qtgxgpg.fsf@jvdsys.demon.nl>
2004-02-24 23:05 ` tmoran
2004-02-25  1:43   ` Chad R. Meiners
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox