Calcolatori elettronici/Istruzioni per la manipolazione dei bit

Indice del libro

Le istruzioni per la manipolazione dei bit si suddividono in:

  • istruzioni logiche: permettono di modificare o controllare uno o più bit;
  • istruzioni di scorrimento: permettono di cambiare la posizione dei bit.

Istruzioni logiche

modifica

Oltre ai registri per il trasferimento dei dati tra il processore e la periferica, vi sono dei registri di controllo/stato in cui ciascun bit informa il processore secondo un parametro sul funzionamento della periferica → il processore deve poter operare su singoli bit.

Le istruzioni logiche (bit a bit) permettono di operare su un singolo bit di una word per volta. La maschera seleziona i bit su cui operare: OR forza a 1 i bit selezionati dalla maschera, NOT inverte tutti i bit, e così via.

L'istruzione TEST esegue l'AND bit a bit restituendo attraverso il flag ZF se un bit vale 1.

Istruzioni di scorrimento

modifica

Le istruzioni di scorrimento permettono di effettuare lo shift dei bit. Si suddividono in:

  • istruzioni di shift
  • istruzioni di rotazione

Il secondo operando contatore può essere un immediato o il registro CL.

Istruzioni di shift

modifica

Le istruzioni SHL e SHR effettuano lo scalamento puro rispettivamente a sinistra e a destra, inserendo il valore 0 nel bit liberato e salvando il bit espulso nel flag CF.

Se i numeri sono senza segno, lo scalamento coincide con la moltiplicazione/divisione per 2.

Le istruzioni SAL e SAR effettuando moltiplicazioni/divisioni per 2 tenendo conto del segno del numero in complemento a 2: l'istruzione SAL è equivalente alla SHL, ma la SAR (verso destra) opera sui numeri negativi inserendo 1 nel bit liberato.

Istruzioni di rotazione

modifica

Le istruzioni ROL e ROR reimmettono il bit espulso nel bit liberato, e lo salvano nel CF sovrascrivendo il valore precedente. Le istruzioni RCL e RCR sovrascrivono il CF dopo aver inserito lo stesso suo valore precedente nel bit liberato.