From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7c65ca5609a07b8c X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-02-21 14:28:26 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!nnx.oleane.net!oleane!freenix!enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: sk Newsgroups: comp.lang.ada Subject: Re: Hardware Interrupts Date: Sat, 21 Feb 2004 16:32:14 -0600 Organization: Cuivre, Argent, Or Message-ID: References: <20040221110026.E93C54C40C5@lovelace.ada-france.org> <000501c3f8bb$189b2760$0201a8c0@win> NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Trace: melchior.cuivre.fr.eu.org 1077402404 45225 212.85.156.195 (21 Feb 2004 22:26:44 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Sat, 21 Feb 2004 22:26:44 +0000 (UTC) Cc: comp.lang.ada@ada-france.org Return-Path: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020828 X-Accept-Language: en-us, en X-Virus-Scanned: by amavisd-new-20030616-p7 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: archiver1.google.com comp.lang.ada:5714 Date: 2004-02-21T16:32:14-06:00 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 -------------------------------------------------