Groups | Search | Server Info | Login | Register


Groups > comp.sys.dec > #247

Re: QBUS Prototyping

From Johnny Billquist <bqt@softjar.se>
Newsgroups alt.sys.pdp11, comp.sys.dec, comp.os.vms
Subject Re: QBUS Prototyping
Date 2011-04-19 09:47 -0700
Organization Update Computer Club
Message-ID <iokeab$ja3$1@Iltempo.Update.UU.SE> (permalink)
References (3 earlier) <WgK6B$GCJWnT@eisner.encompasserve.org> <iohk2q$kmg$2@Iltempo.Update.UU.SE> <iohs8j$ha6$1@pcls6.std.com> <ioivtk$4ss$1@Iltempo.Update.UU.SE> <ioka2m$bee$1@pcls6.std.com>

Cross-posted to 3 groups.

Show all headers | View raw


On 2011-04-19 08:34, Michael Moroney wrote:
> Johnny Billquist<bqt@softjar.se>  writes:
>
>> One rumour has it that it was developed in order to extend some patent
>> or something.
>
> I heard the same little birdie, and it certainly makes sense, to make the
> instruction set unique.  Someone could probably find another processor or
> processors that essentially implement each of the other PDP-11
> instructions.  Kind of like deliberate errors added to copyrighted maps.

Yeah.

>> Another would be that they were just crazy.
>
> That certainly would have helped!

:-)

>> I've not seen a single compiler use the subroutine linkage that
>> explicitly makes the MARK instruction meaningful, and besides. It is not
>> usable if you have split I/D space.
>
> I won't claim there is one, esp. if it doesn't work with split I/D space.

And it won't. The idea with the MARK instruction is that it is pushed on 
the stack. At subroutine return, you are then supposed to jump to where 
the stack pointer points, and execute there, which is on the stack. This 
will clean up the stack, and restore PC.
So stack needs to be in I-space. But for all other purposes stack is in 
D-space. So in short, stack needs to be in both I-space and D-space for 
the MARK instruction to work.
So it can't be split. Pretty useless, if you ask me.

And all just for making the cleaning of the stack from arguments to the 
function a little more streamlined. Having just an ADD #n,SP works just 
as fine, and do work with split I/D-space. :-)
The difference being that the caller needs to clean the stack explicitly 
after a call, while with MARK, the caller push the MARK before calling, 
and the stack is cleaned as a part of the return.

	Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt@softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol

Back to comp.sys.dec | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: QBUS Prototyping koehler@eisner.nospam.encompasserve.org (Bob Koehler) - 2011-04-18 07:56 -0500
  Re: QBUS Prototyping Johnny Billquist <bqt@softjar.se> - 2011-04-18 08:07 -0700
    Re: QBUS Prototyping moroney@world.std.spaamtrap.com (Michael Moroney) - 2011-04-18 17:26 +0000
      Re: QBUS Prototyping koehler@eisner.nospam.encompasserve.org (Bob Koehler) - 2011-04-18 12:53 -0500
      Re: QBUS Prototyping Johnny Billquist <bqt@softjar.se> - 2011-04-18 20:35 -0700
        Re: QBUS Prototyping moroney@world.std.spaamtrap.com (Michael Moroney) - 2011-04-19 15:34 +0000
          Re: QBUS Prototyping Johnny Billquist <bqt@softjar.se> - 2011-04-19 09:47 -0700
    Re: QBUS Prototyping koehler@eisner.nospam.encompasserve.org (Bob Koehler) - 2011-04-18 12:49 -0500
      Re: QBUS Prototyping Johnny Billquist <bqt@softjar.se> - 2011-04-18 20:36 -0700

csiph-web