Tutorial
|
Dettaglio Istruzioni |
Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [I/ 117 di 198] |
|
![]() |
|
![]() | Questa istruzione non appartiene al Set dell'8088/86; si usa solo con 80386/486. | ||||||
![]() | Il suo compito è quello di eseguire un numero ECX di salti ad una specifica locazione, purché l'operazione aritmetico-logica tra numeri senza segno dia risultato nullo; il salto viene dunque eseguito se il registro CX è diverso da 0 e se la flag di Zero è lasciata a 1 prima dell'eventuale salto; il registro contatore deve essere predisposto con un numero compreso tra 0 e 4294967295 (=232). | ||||||
![]() | In pratica prima
decrementa il valore di ECX e,
in funzione del risultato:
|
![]() | 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
![]() |
LOOPZD Destinazione | Salta se ECX non contiene zero e ffZ=1 | |||||||||||||||
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 | ||
LOOPZD |
etichetta |
no | no | 11 | 7 | 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 LOOPZ, alla quale si rimanda. |
|
![]() |
Scheda n° 07 |
![]() |
Istruzioni Cpu 80x86 |
![]() |
![]() |
![]() |
||
Istruzione 117 - LOOPZD |
|
|
|
Home
![]() |
|
|||||||
|
Motore Ricerca |
|