Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 174 di 198] 

    

    SHLD - Sposta verso sinistra con ingresso del bit source più significativo
     
bulletQuesta istruzione non appartiene al Set dell'8088/86; si usa solo con 80286/486.
bulletQuesta istruzione (SHift logical Left Double) esegue lo spostamento (shift) verso sinistra dei bit dell'operando destinazione (un registro o una locazione di memoria a 16 o a 32 bit) introducendo da destra al loro posto i bit dell'operando sorgente (un registro della medesima dimensione dell'operando destinazione).
bulletIl meccanismo dell'istruzione risulta chiaro osservando il suo schema funzionale; con riferimento ad un operando a 16 bit, ogni volta che viene eseguita:
bullettutti i bit dell'operando destinazione vengono spostati (Shift) di un posto verso sinistra.
bulletil bit più significativo (bit15 a 16 bit) dell'operando destinazione sarebbe perduto, spinto fuori dall'operando, ma viene invece memorizzato nella flag di Carry, al posto di quello che c'era prima.
bulletil posto lasciato libero dal bit meno significativo (bit0) dell'operando destinazione viene sovrascritto con il bit più significativo (bit15 a 16 bit) dell'operando sorgente.
     
     
bulletRisulta evidente che il valore iniziale della flag di Carry è ininfluente per il risultato di questa istruzione.
bulletIl numero di volte che questo meccanismo viene eseguito dipende dal valore del terzo operando (contatore), di solito il numero 1 oppure il contenuto del registro CL; è possibile specificare anche un numero fino a 255 (cioè esprimibile da un byte, come CL).
bulletNonostante il valore del terzo operando, comunque espresso, il numero di volte massimo possibile è limitato dal processore a 31; in pratica i 3 bit più significativi del contatore vengono assunti comunque uguali a 000. Questa scelta si può far risalire alla necessità di mantenere basso il tempo totale d'esecuzione dell'istruzione e quindi il tempo d'attesa del servizio di una eventuale richiesta d'interruzione.
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
 SHLD Destinaz,Sorg,NumVolte  Dest  << NumVolte SHLD Destinazione + Sorgente  

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

SHLD

BX,AX,10

no no 3 2 no 4,7 #          # # ? # #
SHLD EDX,EAX,10
SHLD [Depo02],AX,10 7 3
SHLD [Depo04],EAX,10
                    

SHLD

BX,AX,CL

no no 3 3 no 3,7
SHLD EDX,EAX,CL
SHLD [Depo02],AX,CL 7 4
SHLD [Depo04],EAX,CL
         
bulletLa tabella evidenzia che, oltre alla flag di Carry coinvolta fisicamente nello shift, vengono influenzate anche altreflag.
bulletLa figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi coinvolti (leggi le istruzioni):
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

0100
0102
55AA
55AA1188
AA 55
88 11 AA 55
Depo02 
Depo04
DW 55AAH
DD 55AA1188H
---- ------------------- -------------------- ------- ----------------------
0106
010A
010F
0115

011C
011F
0123
0128
0F A4 C3 0A
66 0F A4 D0 0A
0F A4 06 0100 0A
66 0F A4 06 0102 0A

0F A5 C3
66 0F A5 D0
0F A5 06 0100
66 0F A5 06 0102
0F A4 C3 0A
66 0F A4 D0 0A
0F A4 06 00 01 0A
66 0F A4 06 02 01 0A

0F A5 C3
66 0F A5 D0
0F A5 06 00 01
66 0F A5 06 02 01
SHLD BX,AX,10
SHLD EDX,EAX,10
SHLD [Depo02],AX,10
SHLD [Depo04],EAX,10

SHLD BX,AX,CL
SHLD EDX,EAX,CL
SHLD [Depo02],AX,CL
SHLD [Depo04],EAX,CL

    

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 174 - SHLD

    

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