Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!rutgers!mtune!codas!usfvax2!chips
From: chips@usfvax2.UUCP (Chip Salzenberg)
Newsgroups: comp.arch,comp.lang.forth,comp.lang.misc
Subject: Re: The winner!
Message-ID: <798@usfvax2.UUCP>
Date: Thu, 23-Jul-87 22:50:02 EDT
Article-I.D.: usfvax2.798
Posted: Thu Jul 23 22:50:02 1987
Date-Received: Sat, 25-Jul-87 11:54:29 EDT
References: <398@sugar.UUCP> <7098@alice.UUCP>
Organization: AT Engineering, Tampa, FL
Lines: 33
Keywords: ; anybody recognise this piece of code?
Summary: Also works on 6809 but not 68000
Xref: mnetor comp.arch:1677 comp.lang.forth:126 comp.lang.misc:571

(This is in comp.arch now instead of comp.lang.c)

In article <7098@alice.UUCP>, ark@alice.UUCP writes:
> In article <398@sugar.UUCP>, peter@sugar.UUCP writes:
> > I challenge anyone to come up with a faster interpreter anywhere (how can
> > you beat one instruction?). This is actually what the threaded interpreter
> > for the threaded version of DEC fortran-IV used, with R4==IP.
> 
> How about zero instructions?
> 
> At the end of each subroutine, instead of a return instruction, you just say
> 
> 	jmp	*(IP)+
> 
> That is, jump to the location addressed by the contents of the
> word addressed by the contents of IP, and bump IP by one word.

Yes, this is equivalent to the 6809's "JMP [,Y++]" instruction.  I was
severely disappointed by the 68000 architecture's lack of memory indirection.
The 6809 remains the most elegant architecture for Forth [except for the
Novix :-)], what with two stacks, indirect addressing, etc.

(Donning
asbestos
suit
for
postnews
line
counter)
-- 
Chip Salzenberg            UUCP: "uunet!ateng!chip"  or  "chips@usfvax2.UUCP"
A.T. Engineering, Tampa    Fidonet: 137/42    CIS: 73717,366
"Use the Source, Luke!"    My opinions do not necessarily agree with anything.