FANDOM


Nota disambigua
Il titolo di questa voce non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è B3. Istruzioni aritmetiche.
Blue Glass Arrow RTL  B2. Istruzioni di trasferimento datiCrystal Clear app kfm home  Calcolatori elettronici (Assembler 8086)Blue Glass Arrow  B4. Istruzioni per il controllo del flusso
Gli appunti che seguono sono contenuti nella sottopagina /sub (modifica · cronologia · aggiorna)

2 Le operazioni e i formati supportati in campo numerico variano a seconda del processore. L'8086 supporta istruzioni per il calcolo binario (in complemento a 2) di numeri interi (non in virgola mobile) su 8, 16 ed in parte anche su 32 bit con segno e senza segno, e istruzioni per il calcolo tra numeri in formato BCD.

Istruzioni ADD e SUBModifica

5 Le istruzioni ADD e SUB supportano numeri su 8 (byte) o 16 bit (word), a patto che gli operandi abbiano uguale lunghezza. Il primo operando oltre a essere in ingresso è anche in uscita. Gli operandi non possono essere entrambi locazioni di memoria. Queste istruzioni impostano molteplici flag che possono poi essere acceduti.

21 Le istruzioni ADD e SUB non fanno distinzione se i due operandi in complemento a 2 sono con segno o senza segno.

Istruzione CBWModifica

6 L'istruzione CBW, priva di operandi, estende il contenuto dal registro AL su 8 bit all'intero registro AX su 16 bit. L'operazione di estensione è differente a seconda che si tratti di un numero con segno o senza segno.

Istruzione CWDModifica

37 L'istruzione CWD funziona in modo analogo all'istruzione CBW, ma passa da 16 a 32 bit, cioè da AX a DX:AX estendendo il segno.

Istruzione ADCModifica

8 L'istruzione ADC permette di sommare due operandi su 32 o 64 bit, tenendo conto del riporto lasciato nel carry flag CF dalle istruzioni ADD applicate in precedenza sulle word meno significative.

Istruzione SBBModifica

13 L'istruzione SBB funziona in maniera analoga a ADC, tenendo conto del carry flag CF lasciato dalle istruzioni SUB.

Istruzione INC e DECModifica

16 Le istruzioni INC e DEC, di tipo CISC, incrementano o decrementano l'operando di un'unità; aggiornano tutti i flag di stato tranne il carry flag CF.

Istruzione NEGModifica

17 L'istruzione NEG cambia segno all'operando (in complemento a 2).

Istruzione MUL e IMULModifica

21 Le istruzioni MUL e IMUL effettuano la moltiplicazione di numeri rispettivamente senza segno e con segno. L'unico operando viene moltiplicato per il contenuto di AL o di AX a seconda se l'operando è su 8 o su 16 bit, e il risultato viene memorizzato rispettivamente in AX e in DX:AX.

23 I flag CF e OF cambiano il loro significato: se sono entrambi 0, la parte alta del risultato è nulla.

Istruzione DIV e IDIVModifica

30 Le istruzioni DIV e IDIV, aventi un unico operando, effettuano la divisione:

  • operando su 8 bit: il contenuto del registro AX viene diviso per l'operando, e vengono memorizzati il quoziente in AL e il resto in AH;
  • operando su 16 bit: il contenuto del registro DX:AX viene diviso per l'operando, e vengono memorizzati il quoziente in AX e il resto in DX.

33 Se si cerca di effettuare una divisione per zero (cioè il divisore è troppo piccolo e genererebbe un quoziente troppo grande rispetto alle dimensioni del registro di destinazione), viene generato un errore e viene interrotto il programma.

Blue Glass Arrow RTL  B2. Istruzioni di trasferimento datiCrystal Clear app kfm home  Calcolatori elettronici (Assembler 8086)Blue Glass Arrow  B4. Istruzioni per il controllo del flusso

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Inoltre su FANDOM

Wiki casuale