Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!gatech!bloom-beacon!think!ames!ptsfa!hoptoad!academ!killer!elg From: elg@killer.UUCP (Eric Green) Newsgroups: comp.sys.nsc.32k Subject: Re: cxp/rxp instructions Message-ID: <1143@killer.UUCP> Date: Fri, 17-Jul-87 02:11:38 EDT Article-I.D.: killer.1143 Posted: Fri Jul 17 02:11:38 1987 Date-Received: Sun, 19-Jul-87 07:09:42 EDT References: <1751@encore.UUCP> Organization: Bayou Telecommunications Lines: 30 in article <1751@encore.UUCP>, collins@encore.UUCP (Jeff Collins) says: > > In article <10742@hi.UUCP>, cyrus@hi.UUCP (Tait Cyrus) writes: >> Here at the University of New Mexico, we will be starting to port >> GENIX 4.2 to a 32016/32032 board. I have some questions. >> >> 1) What good are the cxp/rxp instructions? >> 2) Why can't the "standard" jsr/ret instructions be used? >> 3) What advantages are there for going through a jump table instead >> of jumping directly? Well, for one thing, it might make relocatable shared librarys easier. For example, on the Amiga, to access a shared library, you must first issue an "openlibrary" command (with the name of the library), which returns you the address of the start of the library's jump table. Still, an indirect indexed jsr probably would be faster.... Of course, libraries would have to consist solely of relocatable code in order to work such a scheme... or else, relocate them when loaded and map them into every process space (and un-map them when they're not being used -- on your typical system with a 32-bit address space, it's trivial to dedicate half of that address space to the kernal and shared libraries). But boy, wouldn't that make for some back doors! (someone loading in their own "stdio" library :-). Seems a shame to restrict library-loading to the "standard" libraries. In any event, it wouldn't be difficult to come up with a better shared-library system than Sys V.3 uses. Like, my 12 year old brother could probably do better :-). Eric Green {ihnp4,cbosgd}!killer!elg elg@usl.CSNET