Article View: comp.sys.amiga.tech
Article #12076Re: Why 6 bytes between pointe to functions in *Base
From: USENET News
Date: Tue, 28 Mar 1989 18:18
Date: Tue, 28 Mar 1989 18:18
28 lines
1696 bytes
1696 bytes
In article <2486@scolex.sco.COM> brianm@sco.COM (Brian Moffet) writes:
>I noticed the other day that the distance between shared
>library functions is 6 bytes. The is at an offset less than
>the base of the Shared Library pointer. I would like to know,
>why 6 bytes? 4 of these bytes should be the pointer itself,
>but what are the other 2? flags?
The other two bytes are the jump instruction which is necessary to
transfer control to the actual library routine (which has an unknown
length). In other words, your program will need to execute the
instruction which in assembly language has the form:
...
jsr _LVOWhatever(a6) ;invoke whatever
...
which then transfers control to the library stubs, which have a form
like: ...
_LVFoo: jmp _Foo
_LVWhatever: jmp _Whatever
_LVBar: jmp _Bar
...
And, as it happens, the jmp instruction occupies two bytes.
Raul Miller |
USENET: raulmill@aludra.usc.edu |
U.S.SNAIL: 721 E Windsor #4 | 55 mph = 82 nc
GLENDALE CA 91205 |
Technical Details
Message-ID:
<16136@oberon.USC.EDU>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!bbn!oberon!newsReferences:
<2486@scolex.sco.COM>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!bbn!oberon!news From: news@oberon.USC.EDU (USENET News) Newsgroups: comp.sys.amiga.tech Subject: Re: Why 6 bytes between pointe to functions in *Base Summary: because they are executable machine code Keywords: libraries, jmp, machine language Message-ID: <16136@oberon.USC.EDU> Date: 28 Mar 89 18:18:43 GMT References: <2486@scolex.sco.COM> Reply-To: raulmill@aludra.usc.edu (Raul Miller) Followup-To: comp.sys.amiga.tech Distribution: comp Organization: Narcoleptic Killer Apes Lines: 28