일부 명령어 세트에는 메모리에서 레지스터를로드하거나 레지스터를 메모리에 저장하거나 레지스터간에 사물을 전송하는 고유 한 명령어가 있습니다. 일부 어셈블리 언어 형태 모두를위한 동사 "로드"를 사용하는 동안 (예를 들어, 자일 로그의 Z80 니모닉 사용 ld a,(1234h)
, ld (1234h),a
및 ld a,b
), 및 (예를 들어 "A에 전송 X"에 대한 TXA와 함께 6502) 일부 사용 "T"를 ransfer, 일부 사용 "이동" 등록 및 등록 작업이로드 및 저장과 구별되도록합니다. 레지스터 대 레지스터, 레지스터 대 메모리, 메모리 대 레지스터 및 심지어 메모리 대 메모리 작업에 동일한 일반 명령어 양식을 사용하는 68000과 같은 명령어 형식이있는 경우 동사 "이동"은 다음과 같습니다. 아마도 다른 대안보다 더 나은 범용 동사입니다.
8080 이전의 미니 컴퓨터 또는 메인 프레임 명령어 세트에 대해서는 전혀 모르지만 8080은 대부분의 메모리 액세스 명령어에 "로드"및 "저장"을 사용하고 레지스터 투 레지스터 명령어에는 "mov"를 사용했지만 대부분 작동 할 수있는 명령어는 임의의 8 비트 레지스터에서 HL이 주소를 지정한 메모리 위치 인 "M"에서도 작동 할 수 있으므로 "M"과 "M"사이의 "MOV"는 실제로로드 또는 저장으로 작동합니다.
"복사"와 "이동"의 차이점은 코드가 레지스터를 생성하거나 파괴 할 수 없다는 사실과 관련이 있다고 생각합니다. 그들은 단지 존재합니다. 코드 시퀀스의 동작을 설명 할 mov bx,ax / mov ax,1234
때 첫 번째 명령이 bx를 ax로 복사한다고 말하는 것이 더 합리적이며 두 번째 명령은 값을 삭제하고 값을 ax
1234로 대체하거나 첫 번째를 보는 것이 더 합리적입니까? bx에서 ax로 값을 옮긴 것으로 명령 (도끼의 값을 "무관심"으로 만드는)과 두 번째 명령은 1234로 ax (무관심)를로드합니까? 때때로 소스 레지스터는 레지스터 전송 명령어 이후에도 여전히 의미가 있지만, 명령어 세트에 소스 레지스터가 있는지 여부를 나타내는 것은 없기 때문에,