Page 1127 - Informatica dalla A a Z
P. 1127

L’istruzione SUB effettua una sottrazione tra il primo ed il secondo operando copiando il

           risultato nel primo operando.
                  SUB operando1,operando2
           L’istruzione DIV effettua una divisione ponendo a denominatore l’operando indicato. Se
           l’operando è a 8 bit effettua la divisione tra AL e l’operando. Se l’operando è a 16 bit
           effettua  la  divisione  tra  il  numero  a  32  bit  formato  dalla  coppia  di  registri  DX:AX  e
           l’operando.

           Nella divisione a 8 bit il quoziente viene collocato nel registro AL e il resto nel registro AH.
           Nella divisione a 16 bit il quoziente viene collocato nel registro AX e il resto nel registro DX.
           Nella divisione a 8 bit il registro DX deve essere sempre azzerato prima di effettuare la
           divisione, a causa di un bug dell’assemblatore Intel che non è stato ancora risolto. I flag CF
           e OF sono settati se il valore occupa la parte alta del risultato.
                  DIV operando
           L’istruzione MUL effettua una moltiplicazione tra l’operando indicato e il registro implicito
           AL  o  AX  a  seconda  della  dimensione  dell’operando.  Se  l’operando  è  a  8  bit  viene

           moltiplicato il registro AL per l’operando e il prodotto viene collocato nel registro AX. Se
           l’operando è a 16 bit viene moltiplicato il registro AX per l’operando e il prodotto viene
           collocato nella coppia di registri DX:AX, dove DX rappresenta i 16 bit più significativi e AX i
           16 bit meno significativi del prodotto (32 bit).
                  MUL operando
           L’istruzione SHL effettua uno scorrimento logico (shift) a sinistra dei bit dell’operando.
           Il bit più significativo dell’operando viene copiato nel CF, mentre il bit meno significativo

           viene inizializzato a zero.
           Gli  scorrimenti,  il  cui  numero  è  determinato  dal  dato  immediato  o  dal  contenuto  del
           registro CL, sono 1-8 per operandi di tipo Byte, 1-16 per operandi di tipo Word, 1-32 per
           operandi di tipo DWord.

           Nota: L’operazione coincide con una moltiplicazione per una potenza del 2 (2, 4, 8, 16, 32,
           64, 128 ecc.).

                  SHL AL,2 ;equivale a moltiplicare AL per 4

           L’istruzione SHR effettua uno scorrimento logico (shift) a destra dei bit dell’operando. Il bit
           meno significativo dell’operando viene copiato nel CF, mentre il bit più significativo viene
           inizializzato a zero.
           Gli  scorrimenti,  il  cui  numero  è  determinato  dal  dato  immediato  o  dal  contenuto  del
           registro CL, sono 1-8 per operandi di tipo Byte, 1-16 per operandi di tipo Word, 1-32 per
           operandi di tipo DWord. L’operazione coincide con una divisione per una potenza del 2 (2,
           4, 8, 16, 32, 64, 128 etc.).

                  SHR AL,3 ;equivale a dividere AL per 8
           L’istruzione  ROL  effettua  una  rotazione  (rotate)  a  sinistra  dei  bit  dell’operando
           interpretando il CF come bit più significativo dell’operando. A ogni scorrimento il CF passa
           nel bit meno significativo e il bit più significativo passa nel CF.
                  ROL operando,bit

                                                           1123
   1122   1123   1124   1125   1126   1127   1128   1129   1130   1131   1132