Tutorial |
Dettaglio Istruzioni |
Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [I/ 166 di 198] |
|
|
Questa istruzione sottrae tra loro l'operando sorgente e il valore della flag C (Prestito/Carry) dall'operando destinazione. Il risultato è lasciato nell'operando di destinazione, al posto di quello di partenza. | |
Se il valore della flag C (Prestito/Carry) è lasciato a 1 significa infatti che la sottrazione ha avuto bisogno di prestito per essere eseguita. | |
Gli operandi possono avere dimensione di un byte, di una word o di una doubleword ( con 80386/486). | |
Le sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni ): |
SBB
Destinazione,Sorgente SBB minuendo, sottraendo |
Destinazione << Destinazione + Sorgente - flag Carry | |||||||||||||||
Esempio di Applicazione |
Cicli di Clock | Mem Acces |
N° Bytes |
Flag influenzate | ||||||||||||
Mnemonico | Operandi | 86 | 268 | 386 | 486 | O | D | I | T | S | Z | A | P | C | ||
SBB |
DX,BX |
3 | 2 | 2 | 1 | no | 2 | # | # | # | # | # | # | |||
SBB |
CL,[Depo01] |
9+EA | 7 | 7 | 2 | 1 | 2,4 | |||||||||
SBB |
CX,[Depo02] |
13+EA | ||||||||||||||
SBB |
[Depo01],BL |
16+EA | 7 | 6 | 3 | 2 | 2,4 | |||||||||
SBB |
[Depo012],BX |
24+EA | ||||||||||||||
SBB |
SI,1234H |
4 | 3 | 2 | 1 | no | 3,4 | |||||||||
SBB |
[Depo01],02H |
17+EA | 7 | 7 | 3 | 2 | 3,6 | |||||||||
SBB |
[Depo02],1234H |
25+EA | ||||||||||||||
SBB |
AL,02 |
4 | 3 | 2 | 3 | no | 2,3 |
La tabella evidenzia le 3 tipologie degli
operandi di questa istruzione:
|
Lo scopo di questa istruzione è da valutare
nel contesto in cui ha avuto origine, cioè quello dell'8086: per via dei
limiti della sua ALU (in grado di trattare solo dati a 16 bit) la SBB
ha reso possibile la sottrazione di numeri maggiori di 16 bit, con la seguente
tecnica (ovviamente superata con l'avvento dei nuovi processori):
|
in sostanza la sottrazione del numero CX,DX dal numero AX,BX (entrambi a 32 bit) viene eseguita in 2 tempi, sottraendo prima i 16 bit meno significativi (DX da BX) e poi i rimanenti 16 bit alti (CX da AX), insieme all'eventuale prestito (conservato appunto nella flag di carry) della sottrazione precedente.
La figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi e del tipo di indirizzamento coinvolti (leggi le istruzioni): |
|
|
Scheda n° 07 | Istruzioni Cpu 80x86 | |||||||
Istruzione 166 - SBB |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|