|
Tutorial
|
Dettaglio Istruzioni |
|
|
 |
Istruzioni
della Cpu 80x86 |
SCHEDA n° 07 [I/
111
di 198] |
 |
|
LOOPNEW - Salta CX
volte se non è uguale |
|
 | Questa istruzione non
appartiene al Set dell'8088/86; si usa solo con 80386/486. |
 | Il suo compito è quello di eseguire
un numero CX di
salti ad una specifica locazione, purché i numeri senza segno
coinvolti in una operazione
aritmetico-logica siano diversi; 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). |
 | In pratica prima
decrementa il valore di CX e
poi:
 | se 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. |
 | se 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). |
 | in entrambi i casi modifica il puntatore di codice CS:IP. |
|
 | I salti possibili sono di tipo near (vicino),
cioè nel range 32767 in avanti e 32768
indietro (è necessario specificare la pseudoOperazione
.386). |
 | Le sue caratteristiche sono riassunte nella
seguente tabella (leggi le istruzioni
): |
|
LOOPNEW Destinazione |
Salta se CX non contiene zero
e ffZ=0 |
| |
|
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 |
LOOPNEW |
etichetta |
no |
no |
11 |
9 |
no |
2 |
|
|
|
|
|
|
|
|
|
| no |
no |
5 |
6 |
no |
 | La 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. |
 | Si tratta di una versione tipizzata di LOOPNE,
alla quale si rimanda. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|