Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 010 di 198] 

    

    BSF - Esamina il valore dei bit dal meno significativo
     
bulletQuesta istruzione non appartiene al Set dell'8088/86; si usa solo con 80386/486.
bulletIl suo compito è quello di scandire "in avanti"  (cioè a partire dal meno significativo, bit0) i bit (Bit Scan Forward) dell'operando sorgente alla ricerca del primo di essi che vale "1":
bulletse almeno uno dei bit vale 1 la flag Z viene forzata a 0 e la sua posizione viene memorizzata nell'operando destinazione.
bulletse non c'è nessun bit a 1 la flag Z è lasciata a 1.
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
BSF Destinazione, Sorgente
BSF IndiceBit, DaVerificare
 Destinazione << puntatore al bit trovato a 1
 Destinazione << inalterato (se non ci sono bit a 1)
 

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

BSF

BX,DX

no no 10+3*n 6,42 no 3           #      

BSF

CX,[Depo02]

7,43 7
         
bulletLa tabella evidenzia che i tempi d'esecuzione dipendono ovviamente dal numero di scansioni realmente eseguite: 80386 il numero è legato dalla formula indicata (con n da 0 a 31), mentre con 80486 con il calcolo è piuttosto articolato e va da un minimo di 6 o 7 cicli (se nessun bit è a 1) ad un massimo di 42 o 43 cicli.
bulletInoltre mostra che è ammessa una sola possibile tipologia di operandi:
bullet tra registro e registro o registro e memoria
          
bulletLa figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi e del tipo di indirizzamento coinvolti (leggi le istruzioni); da notare che, per evitare errori di compilazione, è necessario specificare, all'inizio del sorgente, la pseudoOperazione .386:
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

.386
0100 55AA AA 55 Depo02 DW 55AAH
---- ---------------- ----------------- ------- ----------------------
0102
0106
010E
0112
0F BC DA
0F BC 0D 00000100
0F BC C1
0F BC 05 00000100
0F BC DA
0F BC 0D 00 01 00 00
0F BC C1
0F BC 05 00 01 00 00
BSF BX,DX
BSF CX,[Depo02]
BSF AX,CX
BSF AX,[Depo02]
         
bulletQuesta istruzione ha 3 codici operativi,  0FH e BCH, seguito da quello che tiene conto degli operandi coinvolti.

    

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 010 - BSF

    

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