Calcolatori elettronici/Istruzioni di trasferimento dati: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Nuova pagina: {{Calcolatori elettronici}} Il progettista di un processore può seguire due filosofie: * RISC: il processor...
 
Gian BOT (discussione | contributi)
m Bot: sostituzione tag obsoleti
 
Riga 2: Riga 2:
Il progettista di un processore può seguire due filosofie:
Il progettista di un processore può seguire due filosofie:
* [[Calcolatori elettronici/Le architetture a pipeline#Architettura RISC|RISC]]: il processore è dotato del numero minimo di istruzioni indispensabili → più semplice e più veloce;
* [[Calcolatori elettronici/Le architetture a pipeline#Architettura RISC|RISC]]: il processore è dotato del numero minimo di istruzioni indispensabili → più semplice e più veloce;
* CISC: il processore offre delle ulteriori istruzioni (es. <tt>XCHG</tt>) che potrebbero essere sostituite con altre istruzioni più elementari, ma sono comode per il programmatore → più commerciale.
* CISC: il processore offre delle ulteriori istruzioni (es. <code>XCHG</code>) che potrebbero essere sostituite con altre istruzioni più elementari, ma sono comode per il programmatore → più commerciale.


Alcune istruzioni di trasferimento dati:
Alcune istruzioni di trasferimento dati:
* <span style="text-decoration:underline;"><tt>MOV</tt>:</span> ha alcune limitazioni: per esempio, non si può trasferire un dato direttamente da una cella di memoria all'altra o da un segment register all'altro, ma bisogna passare per i registri;
* <span style="text-decoration:underline;"><code>MOV</code>:</span> ha alcune limitazioni: per esempio, non si può trasferire un dato direttamente da una cella di memoria all'altra o da un segment register all'altro, ma bisogna passare per i registri;
* <span style="text-decoration:underline;"><tt>XCHG</tt>:</span> scambia i contenuti dei due operandi;
* <span style="text-decoration:underline;"><code>XCHG</code>:</span> scambia i contenuti dei due operandi;
* <span style="text-decoration:underline;"><tt>LEA <dest>, <sorg></tt>:</span> copia l'offset di <tt><sorg></tt> in <tt><dest></tt>; è equivalente a:
* <span style="text-decoration:underline;"><code>LEA <dest>, <sorg></code>:</span> copia l'offset di <code><sorg></code> in <code><dest></code>; è equivalente a:
*:<tt>MOV <dest>, OFFSET <sorg></tt>
*:<code>MOV <dest>, OFFSET <sorg></code>
* <span style="text-decoration:underline;"><tt>IN</tt> e <tt>OUT</tt>:</span> specificano che l'indirizzo a cui si vuole accedere è un registro di periferica, impostando il segnale IO/M su IO.
* <span style="text-decoration:underline;"><code>IN</code> e <code>OUT</code>:</span> specificano che l'indirizzo a cui si vuole accedere è un registro di periferica, impostando il segnale IO/M su IO.
[[Categoria:Calcolatori elettronici|Istruzioni di trasferimento dati]]
[[Categoria:Calcolatori elettronici|Istruzioni di trasferimento dati]]

Versione attuale delle 21:16, 3 ago 2018

Indice del libro

Il progettista di un processore può seguire due filosofie:

  • RISC: il processore è dotato del numero minimo di istruzioni indispensabili → più semplice e più veloce;
  • CISC: il processore offre delle ulteriori istruzioni (es. XCHG) che potrebbero essere sostituite con altre istruzioni più elementari, ma sono comode per il programmatore → più commerciale.

Alcune istruzioni di trasferimento dati:

  • MOV: ha alcune limitazioni: per esempio, non si può trasferire un dato direttamente da una cella di memoria all'altra o da un segment register all'altro, ma bisogna passare per i registri;
  • XCHG: scambia i contenuti dei due operandi;
  • LEA <dest>, <sorg>: copia l'offset di <sorg> in <dest>; è equivalente a:
    MOV <dest>, OFFSET <sorg>
  • IN e OUT: specificano che l'indirizzo a cui si vuole accedere è un registro di periferica, impostando il segnale IO/M su IO.