Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/13/84; site intelca.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!qantel!hplabs!intelca!kds From: kds@intelca.UUCP (Ken Shoemaker) Newsgroups: net.arch Subject: Re: Re: What I miss in micro-processors (fairly long) Message-ID: <63@intelca.UUCP> Date: Sat, 7-Sep-85 04:38:46 EDT Article-I.D.: intelca.63 Posted: Sat Sep 7 04:38:46 1985 Date-Received: Mon, 9-Sep-85 02:03:06 EDT References: <796@kuling.UUCP> <1713@orca.UUCP> Organization: Intel, Santa Clara, Ca. Lines: 30 > > > >2. A quick subroutine call. > > > > What I would reaaly like to see here is something like the PDP-10 JSP > >instruction, something that jumps to a subroutine and puts the return > >address in a register instead of on the stack. I'm suprised no one has brought up the 1802 on this one. What this little 8-bit bugger has is a set of 16 16-bit registers, any of which can be used as the program counter or the stack pointer. There are two 4-bit registers that determine which to use that can be changed by the user. The advertised technique for fast subroutines is to dedicate one of the registers to a certain procedure and then switch the pc to that register whenever you want to call the procedure. Of course, this works real well, especially if the last instruction of the procedure is a jump to the pseudo-return which is placed just before the first instruction of the procedure. It was very important to keep your 16-bit registers right, since the only way to get to them was as two halves through a single 8-bit accumulator register. Anyway, I hope I have the details of this right from the far reaches of my memory! -- ...and I'm sure it wouldn't interest anybody outside of a small circle of friends... Ken Shoemaker, Microprocessor Design for a large, Silicon Valley firm {pur-ee,hplabs,amd,scgvaxd,dual,qantel}!intelca!kds ---the above views are personal. They may not represent those of the employer of its submitter.