In alcuni set di istruzioni, esistono istruzioni distinte per caricare un registro dalla memoria, memorizzare un registro nella memoria o trasferire cose tra i registri. Mentre alcuni moduli di linguaggio assembly usano il verbo "load" per tutto (ad es. Uso di mnemonici Z80 di Zilog ld a,(1234h)
, ld (1234h),a
e ld a,b
), e alcuni usano il trasferimento "T" (ad es. 6502 con TXA per "trasferire X in A"), altri usano "sposta" per le operazioni da registratore a registro per distinguerle da carichi e magazzini. Se uno ha un formato di istruzioni come il 68000 che utilizza lo stesso modulo di istruzioni generali per le operazioni da registro a registro, da registro a memoria, da memoria a registro e persino da memoria a memoria, il verbo "sposta" è probabilmente un migliore verbo di uso generale rispetto a qualsiasi altra alternativa.
Non ho idea dei set di istruzioni per minicomputer o mainframe precedenti all'8080, ma l'8080 usava "load" e "store" per la maggior parte delle istruzioni di accesso alla memoria e "mov" per le istruzioni da registro a registro, ma la maggior parte delle istruzioni che potevano funzionare su un registro a 8 bit arbitrario potrebbe anche operare su "M", che era la posizione di memoria indirizzata da HL, quindi un "MOV" verso o da "M" si sarebbe effettivamente comportato come un carico o un archivio.
Per quanto riguarda la distinzione tra "copia" e "sposta", sospetto che ciò abbia molto a che fare con il fatto che il codice non può né creare né distruggere registri; esistono appena. Nel descrivere il comportamento della sequenza di codice mov bx,ax / mov ax,1234
, ha più senso dire che la prima istruzione copia bx in ax, e la seconda istruzione distrugge il valore ax
e lo sostituisce con il valore 1234, o ha più senso vedere la prima istruzione come aver spostato il valore da bx ad ax (rendendo il valore in ax un "non importa"), e la seconda istruzione carica ax (che era stata non importa) con 1234? A volte i registri di origine sono ancora significativi dopo un'istruzione di trasferimento del registro, ma poiché non c'è nulla nel set di istruzioni per indicare se lo sarà