Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!columbia!rutgers!clyde!cuae2!ihnp4!inuxc!pur-ee!uiucdcs!uxc.cso.uiuc.edu!hamilton
From: hamilton@uxc.cso.uiuc.edu
Newsgroups: comp.sys.amiga
Subject: Re: Pattern Matching & documentatio
Message-ID: <172200019@uxc.cso.uiuc.edu>
Date: Fri, 19-Dec-86 16:19:00 EST
Article-I.D.: uxc.172200019
Posted: Fri Dec 19 16:19:00 1986
Date-Received: Wed, 24-Dec-86 21:43:12 EST
References: <1135@cbmvax.cbmvax.cbm.UUCP>
Lines: 33
Nf-ID: #R:cbmvax.cbmvax.cbm.UUCP:1135:uxc.cso.uiuc.edu:172200019:000:1639
Nf-From: uxc.cso.uiuc.edu!hamilton    Dec 19 15:19:00 1986


carolyn@cbmvax says:
>    Well Matt, there is no magic document.  I wish there was.
>    What we have is the AmigaDOS source code.
> 
>    BCPL is a bit like C, and it is possible to decipher and even
> make changes to localized portions of the code.  But when you
> start to trace code that interfaces with the private global functions
> via run-time linking, you get stopped by tables of labels and vectors
> that specify numerical offsets into other tables that are built at  
> run time.  And if you manage to make it to the other side of the
> table because a corresponding label on the other side happens to
> have a similar name, you get stuck there because because that code
> starts loading registers with labels defined as offsets into the
> run-time table.  
> 
>    So, you can either pay Tim King to reveal the inner secrets, 
> or wait until someone here has time to decipher a very large and
> very complex program that jumps all over the place.

    or, you can send those sources to me and i'll write the magic
document for you :-)!  seriously, i've been analysing those "tables
of labels and vectors" from disassemblies of the kickstart, with at
least moderate success.  the hardest part has been guessing what
each module does, based on study of the assembler opcodes.  if i had
reasonably descriptive labels, half the job would be done!

	wayne hamilton
	U of Il and US Army Corps of Engineers CERL
UUCP:	{ihnp4,pur-ee,convex}!uiucdcs!uiucuxc!hamilton
ARPA:	hamilton%uiucuxc@a.cs.uiuc.edu	USMail:	Box 476, Urbana, IL 61801
CSNET:	hamilton%uiucuxc@uiuc.csnet	Phone:	(217)333-8703
CIS:    [73047,544]			PLink: w hamilton