comp.lang.ada
 help / color / mirror / Atom feed
From: nasser@apldbio.com (Nasser Abbasi)
To: ocremel@idiom.com (Olivier Cremel)
Subject: Re: An Interface question
Date: 1996/07/17
Date: 1996-07-17T00:00:00+00:00	[thread overview]
Message-ID: <nhg26rtnzp.fsf@paralysys> (raw)
In-Reply-To: 4sgmgc$n66@idiom.com



   In article <4sgmgc$n66@idiom.com> ocremel@idiom.com (Olivier Cremel) writes:

   I'm using an m68k OS (AmigaOS) where system calls expect arguments in
   registers, not on the stack as normal convention has it.

   I've been reading all Ada95 documents I have but I haven't found a way
   to express that convention either for me to access a system call  or
   to provide one.

   Short of writing assembly wrappers, is there a way ?

   Thanks,
   Olivier.


You dont have to use Assembly, you can use the language BLISS :)  BLISS 
allows register linkage in calls. 

actually you bring a good question, This same issue happened in VMS, one
was not able to interface to many of VMS original internal code (was was
written in MACRO 32 assembler) by using say C or other high level languages 
becuase many of those VMS entry points expected to pull the arguments 
from specific registers, not from the stack, or may be even a combination 
of the two cases. This is why BLISS was used allot in VMS internal code, 
since BLISS was designed to allow the caller to specify register and/or 
stack linkage.  I remember there was a project in DEC to allow C to also 
do that (i.e add register linkage to C)  so that one can use C in VMS
system programming, I wonder what ever happened to that ?
.. opps.. soory I am getting off the subject..

Nasser

-- 
Nasser Abbasi. C/C++/Ada Solaris. GeneAssist - A client/server application 
for Nucleic acid and protein sequence search and analysis. 
Perkin Elmer - Applied BioSystem division. email:  nasser@apldbio.com   
MSEE(control), MSCS, MSCE, FM (Fide Chess Master).







      parent reply	other threads:[~1996-07-17  0:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-07-16  0:00 An Interface question Olivier Cremel
1996-07-16  0:00 ` Robert Dewar
1996-07-17  0:00 ` Nasser Abbasi [this message]
replies disabled

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