[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