Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 114 di 198] 

    

    LOOPNZW - Salta CX volte se non è zero
     
bulletQuesta istruzione non appartiene al Set dell'8088/86; si usa solo con 80386/486.
bulletIl suo compito è quello di eseguire un numero CX di salti ad una specifica locazione, purché l'operazione aritmetico-logica tra numeri senza segno dia risultato non nullo; il salto viene dunque eseguito se il registro CX è diverso da 0 e se la flag di Zero è lasciata a 0 prima dell'eventuale salto; il registro contatore deve essere predisposto con un numero compreso tra 0 e 65535 (=216).
bulletIn pratica prima decrementa il valore di CX e poi:
bulletse CX=0000 o se una precedente operazione aritmetico-logica ha prodotto risultato nullo (anche se CX non è ancora a 0000) prosegue con l'istruzione successiva.
bulletse CX è diverso da 0000 e se una precedente operazione aritmetico-logica ha lasciato [flag di Zero]=0, salta all'indirizzo suggerito dall'etichetta che lo rappresenta, di solito presente nelle prossimità dell'istruzione stessa (che l'ha dichiarata) seguita da ":" (2 punti).
bulletin entrambi i casi modifica il puntatore di codice CS:IP.
         
bulletI salti possibili sono di tipo near (vicino), cioè nel range 32767 in avanti e 32768 indietro (è necessario specificare la pseudoOperazione .386).
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
         LOOPNZW Destinazione  Salta se CX non contiene zero e ffZ=0
 

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

LOOPNZW

etichetta

no no 11 9 no 2                   
no no 5 6 no
         
bulletLa tabella mette in evidenza che in presenza di salto (prima riga) è necessario un numero maggiore di cicli di Clock, anche perchè il processore è costretto a reinizializzare la coda dell'istruzione al fine di assumere i codici operativi dell'istruzione a cui cedere il controllo (evidentemente non consecutiva a quella che richiede il salto..); se il salto non viene eseguito i tempi d'esecuzione (seconda riga) sono più rapidi.
bulletSi tratta di una versione tipizzata di LOOPNZ, alla quale si rimanda.

    

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 114 - LOOPNZW

    

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