| Questa istruzione è propriamente un prefisso
e va messa davanti
ad un'istruzione che gestisce stringhe
o, in genere, aree di dati. |
| Il suo compito è quello di obbligare
la ripetizione di questi tipi d'istruzione il numero
di volte indicato dal registro CX. Il processore:
| controlla se CX
ha valore 0000H: in questo caso non ripete l'istruzione e prosegue con il resto
del programma. |
| altrimenti decrementa
CX, esegue
l'istruzione di
gestione stringhe e rientra nel loop. |
|
| Dunque, se il valore iniziale di CX è nullo
il prefisso non produce alcun effetto, cioè nessuna delle
istruzioni supportate viene eseguita. |
| Va sottolineato che, dopo aver verificato il
valore di CX, viene anche verificato se c'è qualche richiesta
d'interruzione pendente; non c'è dunque il pericolo che la ripetizione
delle istruzioni di gestione stringhe mettano in crisi questa importante
esigenza. |
| Il prefisso si applica dunque alle istruzioni:
| MOVS
(e alle sue varianti MOVSB, MOVSW
e MOVSD). |
| STOS
(e alle sue varianti STOSB, STOSW
e STOSD). |
| LODS
(e alle sue varianti LODSB, LODSW
e LODSD). |
| INS (e
alle sue varianti INSB, INSW
e INSD). |
| OUTS
(e alle sue varianti OUTSB, OUTSW
e OUTSD). |
| CMPS
(e alle sue varianti CMPSB, CMPSW
e CMPSD). |
| SCAS
(e alle sue varianti SCASB, SCASW
e SCASD). |
|
| Le sue caratteristiche sono riassunte nella
seguente tabella (leggi le istruzioni
): |