[inforoots] bits again

Ed Thelen ed at ed-thelen.org
Tue Nov 28 11:34:03 PST 2006


----- Original Message ----- 
From: "Michael Albaugh" <m.e.albaugh at gmail.com>
To: "Open Discussion about the history of the Information Age" <inforoots at computerhistory.org>
Sent: Tuesday, November 28, 2006 9:04 AM
Subject: Re: [inforoots] bits again


> =======================================
> On 11/28/06, Ed Thelen <ed at ed-thelen.org> wrote:
> 
> > A more appropriate question might be:
> >
> >    What machine was the first to *not* require self modifying code?
> >    that is, a more convenient way to index?  - say using a "B-Box" ;-))
> >                   and set up a subroutine return? - say a stack
> 
> I believe that the ability to execute an instruction from a register
> pre-dates the B-Box, but could be wrong. 

I heard the Brits invented the "B-Box",
     later renamed "index register".

> Also, subroutine linkage
> by way of a single "return address" or "return jump" location pre-dates
> the use of a stack for that purpose. 

Yes indeed, but most 
     Store P and Branch 
  type of  instructions modified the program by storing the incremented
   P counter into the 1st word of the subroutine.
   (A favorite bug would be to forget to place a Branch OP CODE
      as the first word of the subroutine.)
   Execution of the subroutine started at the second word of the
   subroutine.   To return, you branched to the first word of
   the subroutine, which was a branch back to the calling code.

   I figure this was self modifying code, because it did change
   the contents of the subroutine - and prevented reentrancy.

   A stack turned out to be a nicer way to call subroutines,
    and allowed reentrancy.


>Our own 1401 has the interesting
> optional feature that _any_ transfer of control can be a subroutine
> jump. It is the first instruction at the call site that has the opportunity
> to save the "return address", not a specific "call" instruction used by
> the caller. Many ways to accomplish these goals.

Yes - this is part of the Store Address Register special feature (optional)

Ed Thelen

> 
>   Mike




More information about the inforoots mailing list