>
>Subject: Re: What does PUSHJ do?
> From: Johnny Billquist <bqt at Update.UU.SE>
> Date: Thu, 12 May 2005 10:30:31 +0200 (CEST)
> To: cctalk at classiccmp.org
>
>Not a good example. It should really be JMS FOO, and at the label FOO you
>need to place a 0, which is overwritten by the return address. (What
>assembler do you usually use, btw? Comments come after a slash... :-) )
Mindeye. Neumonics to octal on paper usually. My 8 doesn't have any
mass store not even TTY. I plan to take some EEprom and make a RS08
or other disk equivelent.
>Eh? No. The PDP-8/a don't have any stack IOT. Same set as the 8/e. The
>only difference is how some illegal combinations of OPR instructions act.
I've used one that did. Might have been a hack. The 6120 however does
and the DEC purchase spec is clear on that too. It's still done with IOTs.
Allison
On Wed, 11 May 2005 Allison <ajp166 at bellatlantic.net> wrote:
> >Subject: What does PUSHJ do? (was Re: was "C on the PDP-8 ... ")
> > From: spc at conman.org (Sean 'Captain Napalm' Conner)
> > Date: Wed, 11 May 2005 17:43:49 -0400 (EDT)
> > To: cctalk at classiccmp.org
> >
> >It was thus said that the Great Brad Parker once stated:
> >>
> >> heh. I remember puzzling at the the "pushj"'s and "popj"'s in the FOCAL
> >> source code. This was before I had seen a pdp-11 or dec-10.
> >
> > What does PUSHJ actually do? I remember reading about it in Steven Levy's
> >Hackers, but never got what was so special about it.
> >
>
> It's a PAL macro for push and jump and there is a return and pop.
Not to mention the fact that on the PDP-10 there actually was the
instructions PUSHJ and POPJ, which probably was the inspiration for the
macros on a PDP-8.
The PDP-10 is a fun architecture. You can do subroutine calls in all the
paradigms available. Stack? Sure. Return address at the start of the
routine? Sure. Return address in a register? No problem.
> Come from the fact that PDP-8 put the return address at the called location and the next
> location is executed.
>
> MAIN ; do something
> JMS I,FOO
> ; more something
>
>
> FOO ; return stored here
> Add I,BLAH
> JMP I,FOO
>
> In PDP-8 the I in the addressing is use the contents at the address
> pointed to.
Not a good example. It should really be JMS FOO, and at the label FOO you
need to place a 0, which is overwritten by the return address. (What
assembler do you usually use, btw? Comments come after a slash... :-) )
> Now if you want recursion
>
> You call a standard call and return routine (COSMAC 1802 requires this too).
>
> The routine gets the target address(work routine) and the return adddress
> (caller) and saves the return and dispatches to the work routine. The
> reverse is done to get back to the originating caller.
Yup.
> In the PDP-8A and 6120 there are IOTs to push/pop the ACC on the stack
> and and also there are a set of push/pops for the PC register.
Eh? No. The PDP-8/a don't have any stack IOT. Same set as the 8/e. The
only difference is how some illegal combinations of OPR instructions act.
The CPU deals with almost no IOTs itself. You then have the KK8A and
DKC-8AA which handles most IOTs of the machine which are considered to be
built in.
> However the PDP-8 programmer is less likely to use a stack than a
> flavor of computed jump or call. PDP-8 is good candidate for an
> state machine coding.
Of course, since there isn't any stack in hardware.
Johnny
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
The 3B2s, Motorola PPC 801, and Cray Amber terminal have been claimed.
Still available:
>A MIPS Magnum 4000PC.50
>(2) SCSI1 External DAT drives.
>misc AT era PC cases/motherboards
>borken laser printer
>Epson LQ1100 dot matrix printer
Once again, I don't have details, but can pass along questions,
comments, or snyde remarks.
Pickup in Champaign/Urbana, IL is preferred, or I can meet you
at the Dayton Hamvention next week (!). The owner will also
consider shipping if it's something you're interested in and
you can pay a bit to cover packing, shipping, etc.
Thanks,
Dan
>From: "Vintage Computer Festival" <vcf at siconic.com>
>
>On Wed, 11 May 2005, John Foust wrote:
>
>> At 10:12 AM 5/11/2005, Vintage Computer Festival wrote:
>> >I miss GOTO. It was unnecessarily expunged from the programmmer's toolbox
>> >by elitist academics.
>>
>> It's a tool. Why, I discussed this with a "Sam Ismail" back in 1999:
>
>This just goes to show how brainwashed I've become with regards to the use
>of GOTO's ;)
>
>I'm going to stick a GOTO into some code at an inappropriate place today
>just to spite the Man!
>
Hi
It just doesn't fit nicely with things like memory allocation,
scoping and pointers. It still has a place in error and
exception handling. I guess one is suppose to handle such things
in assembly. This is not a high level function?
How can one make a system robust and not consider the need
for such things?
Dwight
> I've been half-heartedly looking for a programmers console.
The 990 programmers panel is a serial peripheral to the CPU
Quite different from the one on the 980.
Can anyone help please - I'm looking for a keyboard and mouse for a DEC
Station 5000/125 to complete my machine - I'm located in Australia but
will gladly pay packing and shipping costs.
++++++++++
Kevin Parker
Web Services Consultant
WorkCover Corporation
p: 08 8233 2548
m: 0418 806 166
e: kparker at workcover.com
w: www.workcover.com
++++++++++
************************************************************************
This e-mail is intended for the use of the addressee only. It may
contain information that is protected by legislated confidentiality
and/or is legally privileged. If you are not the intended recipient you
are prohibited from disseminating, distributing or copying this e-mail.
Any opinion expressed in this e-mail may not necessarily be that of the
WorkCover Corporation of South Australia. Although precautions have
been taken, the sender cannot warrant that this e-mail or any files
transmitted with it are free of viruses or any other defect.
If you have received this e-mail in error, please notify the sender
immediately by return e-mail and destroy the original e-mail and any
copies.
************************************************************************
Seems I had some extra time on my hands for another useless thingie, this
time its a collection of Floppy Sleeves. I know there is already one out
there but it hasn't been maintained in ages so I thought I start it again.
Check it out at http://www.oldcomputercollection.com/floppysleeves/
Cheers,
Stefan.
-------------------------------------------------------
http://www.oldcomputercollection.com
>
>Subject: What does PUSHJ do? (was Re: was "C on the PDP-8 ... ")
> From: spc at conman.org (Sean 'Captain Napalm' Conner)
> Date: Wed, 11 May 2005 17:43:49 -0400 (EDT)
> To: cctalk at classiccmp.org
>
>It was thus said that the Great Brad Parker once stated:
>>
>> heh. I remember puzzling at the the "pushj"'s and "popj"'s in the FOCAL
>> source code. This was before I had seen a pdp-11 or dec-10.
>
> What does PUSHJ actually do? I remember reading about it in Steven Levy's
>Hackers, but never got what was so special about it.
>
It's a PAL macro for push and jump and there is a return and pop.
Come from the fact that PDP-8 put the return address at the called location and the next
location is executed.
MAIN ; do something
JMS I,FOO
; more something
FOO ; return stored here
Add I,BLAH
JMP I,FOO
In PDP-8 the I in the addressing is use the contents at the address
pointed to.
Now if you want recursion
You call a standard call and return routine (COSMAC 1802 requires this too).
The routine gets the target address(work routine) and the return adddress
(caller) and saves the return and dispatches to the work routine. The
reverse is done to get back to the originating caller.
In the PDP-8A and 6120 there are IOTs to push/pop the ACC on the stack
and and also there are a set of push/pops for the PC register. The
general PDP-8 archetecture is very unique in that IOTs are really
a handoff of the CPU core and registers to the device. So it's possible
for IO hardware to get the PC save it and add a number to it and put
it in the PC. The EMA is IO hardware. Oh, and they can also
ouput/input from the ACC too.
However the PDP-8 programmer is less likely to use a stack than a
flavor of computed jump or call. PDP-8 is good candidate for an
state machine coding.
Allison