Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 166 di 198] 

    

    SBB - Sottrazione con riporto tra numeri interi
     
bulletQuesta 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.
bulletSe il valore della flag C (Prestito/Carry) è lasciato a 1 significa infatti che la sottrazione ha avuto bisogno di prestito per essere eseguita.
bulletGli operandi possono avere dimensione di un byte, di una word o di una doubleword ( con 80386/486).
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
SBB Destinazione,Sorgente
SBB
minuendo, sottraendo
 Destinazione  <<  Destinazione + Sorgente - flag Carry
 

Esempio di Applicazione

Cicli di Clock Mem
Acces

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
         
bulletLa tabella evidenzia le 3 tipologie degli operandi di questa istruzione:
bullettra registro e registro, o tra registro e memoria, o tra memoria e registro.
bullettra registro e costante, o tra memoria e costante.
bullettra accumulatore e costante.
     
bulletLo 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):
          
SUB BX,DX
SBB AX,CX
         
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.
bulletLa figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi e del tipo di indirizzamento coinvolti (leggi le istruzioni):
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

0100
0101
55
55AA
55
AA 55
Depo01 
Depo02
DB 55H
DW 55AAH
---- ---------------- ----------------- ------- ----------------------
0103
0105
0109
010D
0111
0115
0119
011E
0124

0126
012B
0130
0135
013A
1B D3
1A 0E 0100 
1B 0E 0101
18 1E 0100
19 1E 0101
81 DE 1234 
80 1E 0100 02 
81 1E 0101 1234 
1C 02

2E 1A 06 0100 
2E 1B 06 0101
2E 18 06 0100 
2E 19 06 0101
1D 1122
1B D3  
1A 0E 00 01 
1B 0E 01 01
18 1E 00 01 
19 1E 01 01
81 DE 34 12 
80 1E 00 01 02 
81 1E 01 01 34 12  
1C 02

2E 1A 06 00 01 
2E 1B 06 01 01
2E 18 06 00 01 
2E 19 06 01 01
1D 22 11
SBB DX,BX
SBB CL,[Depo01]
SBB CX,[Depo02]
SBB [Depo01],BL
SBB [Depo02],BX
SBB SI,1234H
SBB [Depo01],02H
SBB [Depo02],1234H
SBB AL,02H

SBB AL,CS:[Depo01]
SBB AX,CS:[Depo02]
SBB CS:[Depo01],AL
SBB CS:[Depo02],AX
SBB AX,1122H

    

Pagina Precedente Scheda n° 07 Pagina Successiva Istruzioni Cpu 80x86 Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Istruzione 166 - SBB

    

SCHEDE » 1.Header EXE 2.PseudoOp MASM 3.Differenza tra Macro e Procedure
4.
Tabella Vettori 5.PSP 6.Stack 7.Istruzioni 80x86
8.La misura dell'Informazione 9.Numeri e Logica Binaria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati