[Info-vax] Assembly languages, was: Re: OT: PDP-11 history in arstechnica

VAXman- at SendSpamHere.ORG VAXman- at SendSpamHere.ORG
Sat Mar 19 08:54:48 EDT 2022


In article <t12m4v$7g0$4 at dont-email.me>, Simon Clubley <clubley at remove_me.eisner.decus.org-Earth.UFP> writes:
>On 2022-03-18, Johnny Billquist <bqt at softjar.se> wrote:
>> On 2022-03-17 01:48, Simon Clubley wrote:
>>> On 2022-03-16, Rich Alderson <news at alderson.users.panix.com> wrote:
>>>>
>>>> ALL the PDP-10 mnemonics for instructions which access memory have the same
>>>> form (taking MOVE as a canonical example):
>>>>
>>>> 	MOVE	load accumulator with contents of memory at effective address
>>>> 	MOVEI	load accumulator with immediate effective address calculation
>>>> 	MOVES	load accumulator with swapped halfwords of contents of memory
>>>> 		at effective address
>>>> 	MOVEM	store accumulator into memory at effective address
>>>>
>>>> Look at the last character of the instruction.  You don't even have to remember
>>>> the difference between "load" and "store".
>>>>
>>> 
>>> Doesn't anyone else find it strange that the mnemonic across all
>>> architectures is some variant of MOVE or MOV instead of COPY or CPY ?
>>
>> You mean across all of these two (or three) DEC architectures (PDP-10, 
>> PDP-11 and VAX)?
>>
>> Because some others use LOAD, LD, or some variant thereof. And then you 
>> have (as mentioned) the PDP-8 which only have TAD (two complement add), 
>> so if you want to read something out of memory, you better make sure the 
>> AC is 0 before you do. Which of course is helped by the store 
>> instruction which implicitly also clears the AC (DCA - Deposit and Clear 
>> AC).
>> And there are other things out there as well, if we talk about "all 
>> architectures".
>>
>
>Yes, but that doesn't change my point that with every architecture
>I know (both DEC and non-DEC) that uses a MOV/MOVE mnemonic variant,
>then MOV/MOVE is actually a copy to destination instead as the source
>is not destroyed during the copy.

OMFG! Stop!

Your beloved 'C' language that you proselytize a posteriori is chock full 
of pedant pondering palter.  Ref::


MEMMOVE(3)               BSD Library Functions Manual               MEMMOVE(3)
---^^^^
NAME
     memmove -- copy byte string
--------^^^^----^^^^
LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <string.h>

     void *
     memmove(void *dst, const void *src, size_t len);
--------^^^^
DESCRIPTION
     The memmove() function copies len bytes from string src to string dst.  The two strings may overlap; the copy is
------------^^^^------------^^^^^^----------------------------------------------------------------------------^^^^
     always done in a non-destructive manner.


-- 
VAXman- A Bored Certified VMS Kernel Mode Hacker    VAXman(at)TMESIS(dot)ORG

I speak to machines with the voice of humanity.



More information about the Info-vax mailing list