[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