[Info-vax] OT: PDP-11 history in arstechnica

Johnny Billquist bqt at softjar.se
Wed Mar 16 14:30:09 EDT 2022


On 2022-03-16 01:25, chris wrote:
> On 03/15/22 02:18, Rich Alderson wrote:
>> chris<chris-nospam at tridac.net>  writes:
>>
>>> On 03/15/22 01:22, Simon Clubley wrote:
>>>> On 2022-03-14, Bob Gezelter<gezelter at rlgsc.com>   wrote:
>>>>> On Monday, March 14, 2022 at 7:47:34 PM UTC-4, Arne Vajhøj wrote:
>>>>>> https://arstechnica.com/gadgets/2022/03/a-brief-tour-of-the-pdp-11-the-most-influential-minicomputer-of-all-time/ 
>>>>>>
>>
>>>>> Arne,
>>
>>>>> Not sure where the author of the arstechnica piece saw "$" for 
>>>>> immediate
>>>>> mode, e.g., mov $10,r0. MACRO-11 as I new it, always used a "#", 
>>>>> e.g., MOV
>>>>> #SS.XYZ,R0.
>>
>>>>> Spent lots of time writing and generating assembler for RSX-11 
>>>>> systems and
>>>>> relatives, e.g., P/OS. Did many interesting things.
>>
>>>>> - Bob Gezelter, http://www.rlgsc.com
>>
>>>> DEC versus AT&T syntax (and yes, I know the following is Intel not DEC,
>>>> but it's much the same thing here for the syntax you mention):
>>
>>>> https://wiki.osdev.org/Opcode_syntax

The article is actually mixing Unix and DEC notations wildly, as well as 
having various errors in there.

>>>> Perfectly normal and expected. Also note "mov src, dest" instead of
>>>> "mov dest, src".
>>
>>> Yes, from, to, left to right. Same for 68000 series as well. Intel
>>> always were a bit backward in that respect...
>>
>>>> Expect to see more of it in your future. :-)
>>
>> "DEC" syntax, hmm?  Macro-10:
>>
>>     MOVE 17,SUMWHR
>>     ADDI 17,37
>>     MOVEM 17,ELSWHR
>>
>> The "destination" AC always follows the opcode immediately, the effective
>> address of the "source" comes after the comma.  Note that since there are
>> "to-memory" instructions, the notion of "source" vs. "destination" is not
>> particularly useful...

This is one of the things I most dislike about Macro-10 actually. :-D

> Perhaps, but people no longer program in octal, nor have to worry about
> where the opcode field etc is in the instruction stream. Not familiar
> with Macro-10 syntax, but assume that would be source -> destination as
> well.

That's what "MOVE" vs. "MOVEM" is. MOVE moves from memory, MOVEM moves 
to memory. But arguments are always "accumulator,address", independent 
of which direction data goes.

> Just saying, read left to right, move something from a source to a
> destination, so the dec pdp11 macro syntax is more natural. Having
> worked with a lot of micros, some of which are quite primitive and
> badly thought out, the PDP11 was light years ahead. Instructions
> like sob, to create a tight loop in 3 lines of macro were truly
> revolutionary and being of the sixties, always wondered what
> those guys must have been smoking...

Yes, Macro-11 is rather natural. And *very* much like Macro-32.
However, SOB was not in the original instruction set of the PDP-11. It's 
an extension.

But why 3 lines of macro? For many things, it's just 2...

10$:  MOV  (R0)+,(R1)+
       SOB  R2,10$

   Johnny



More information about the Info-vax mailing list