Bazı komut kümelerinde, bir kaydı bellekten yüklemek, bir belleği belleğe kaydetmek veya kayıtlar arasında bir şey aktarmak için farklı talimatlar vardır. Bazı montaj dili formları her şey için "yük" fiilini kullanırken (örneğin, Zilog'un Z80 anımsatıcılarını kullanır).ld a,(1234h)
, ld (1234h),a
ve ld a,b
) ve (örneğin, "A transferi X" için TXA ile 6502) bazı kullanım "T" ransfer, bazı kullanım "hareket" Kayıt-kayıt işlemlerinin yüklerden ve mağazalardan ayırt edilmesi için. Kayıt yaptırmak, hafızaya kaydetmek, hafızaya kaydetmek ve hatta hafızadan hafızaya işlemler için aynı genel talimat formunu kullanan 68000 gibi bir talimat formatına sahipse, "hareket" fiili; Muhtemelen alternatiflerden herhangi birine göre daha iyi bir genel amaçlı fiil.
8080'den önce minibilgisayar veya ana bilgisayar komut setleri hakkında hiçbir fikrim yok, ancak 8080 çoğu hafıza erişim talimatı için "load" ve "store" ve kayıt yaptırmak için talimatlar için "mov" kullandı, ancak çoğu çalışan isteğe bağlı olarak 8-bitlik bir yazmaç, HL tarafından adreslenen bellek yeri olan "M" de çalışabilir, bu nedenle "M" den veya "M" den bir "MOV" gerçekten bir yük veya depo gibi davranırdı.
"Kopyala" ve "taşıma" arasındaki ayrımdan gelince, kodun kayıtları oluşturamayacağı ya da yok edemediği gerçeği ile ilgili olduğunu düşünüyorum; onlar sadece var. Kod dizisinin davranışını tarif ederken mov bx,ax / mov ax,1234
, ilk komutun bx'i balta kopyaladığını söylemek daha mantıklı mı, ikinci komut ise değeri yok eder ax
ve değeri 1234 ile değiştirir, ya da ilkini görüntülemek daha mantıklı olur mu? değeri bx'den baltaya dönüştürdüğü yönünden talimat (baltadaki değeri "umursamamak") ve ikinci komut 1234 ile baltayı (umursamadım) yüklüyor mu? Bazen kaynak kayıtları bir register-transfer komutundan sonra hala anlamlıdır, ancak komut setinde olacağını belirten hiçbir şey olmadığından,