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

gah4 gah4 at u.washington.edu
Thu Mar 17 02:31:12 EDT 2022


On Wednesday, March 16, 2022 at 5:48:43 PM UTC-7, Simon Clubley wrote:

(snip)

> 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 ? 
 
> After all, you are not destroying the contents at the original 
> location/register when you copy it to the target location/register. :-)

I think I might have wondered about that.

C has the memmove() and memcpy() functions, where the former does
it correctly (for some definition of correct) for overlapping areas.
memcpy() gives undefined results in that case.

The S/360 MVC (move characters) is defined to do the move left to
right, character by character, in the case of overlap.  This is commonly
used to clear a buffer by storing a character in the first byte, and then
moving right by one. 

It is done enough that some hardware might optimize for this case.

I suspect that opcodes for many later processors were based, in some
sense, on earlier DEC systems. 

But yes, it is strange.










More information about the Info-vax mailing list