Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 153 di 198] 

    

    REP - Gestisce la ripetizione automatica delle istruzioni che gestiscono stringhe.
     
bulletQuesta istruzione è propriamente un prefisso e va messa davanti ad un'istruzione che gestisce stringhe o, in genere, aree di dati.
bulletIl suo compito è quello di obbligare la ripetizione di questi tipi d'istruzione il numero di volte indicato dal registro CX. Il processore:
bulletcontrolla se CX ha valore 0000H: in questo caso non ripete l'istruzione e prosegue con il resto del programma.
bulletaltrimenti decrementa CX, esegue l'istruzione di gestione stringhe e rientra nel loop.
bulletDunque, se il valore iniziale di CX è nullo il prefisso non produce alcun effetto, cioè nessuna delle istruzioni supportate viene eseguita. 
bulletVa 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.
bulletIl prefisso si applica dunque alle istruzioni:
bulletMOVS (e alle sue varianti MOVSB, MOVSW e MOVSD).
bulletSTOS (e alle sue varianti STOSB, STOSW e STOSD).
bulletLODS (e alle sue varianti LODSB, LODSW e LODSD).
bulletINS (e alle sue varianti INSB, INSW e INSD).
bulletOUTS (e alle sue varianti OUTSB, OUTSW e OUTSD).
bulletCMPS (e alle sue varianti CMPSB, CMPSW e CMPSD).
bulletSCAS (e alle sue varianti SCASB, SCASW e SCASD).
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
 REP <Istruzione>  mentre CX <> 0000H: esegue istruzione e decrementa CX
 

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

REP

 MOVS

9+17n 5+4n 7+4n 12+3n no 1                    
REP  MOVSB
REP  MOVSW
REP  MOVSD
REP  STOS 9+10n 4+3n 5+5n 7+4n
REP  STOSB
REP  STOSW
REP  STOSD
REP  LODS 9+10n 4+3n 5+5n 7+4n
REP  LODSB
REP  LODSW
REP  LODSD
REP  INS no 5+4n 13+6n 16+8n
REP  INSB
REP  INSW
REP  INSD
REP  OUTS no 5+4n 12+5n 17+5n
REP  OUTSB
REP  OUTSW
REP  OUTSD
         
bulletL'istruzione non altera le flag e viene codificata con un solo byte, F3H, anteposto a quelli delle istruzioni che gestisce, ma la sua potenza equivale a quella di 4 istruzioni, oltre a quella da ripetere:
DiNuovo:  CMP   CX,0000H
          JZ    Finito
          DEC   CX
          <xxxS = Istruz.Gestione Stringhe>
          JMP   DiNuovo
Finito:   NOP
     
bulletLa figura seguente mostra le risorse richieste da questa istruzione in funzione degli coinvolti (leggi le istruzioni):
          

Addr 

Codifica Masm

Istruzione

0100
0102
0104
0106

0109
010B
010D
010F

0112
0114
0116
0118

011B
011D
011F
0121

0124
0126
0128
012A

012D
0130
0132
0134

0137
0139
013B
013D
F3 26 A4      
F3 A4
F3 A5
F3 66 A5

F3 AA
F3 AA
F3 AB
F3 66 AB

F3 AC
F3 AC
F3 AD
F3 66 AD

F3 6C
F3 6C
F3 6D
F3 66 6D

F3 6E
F3 6E
F3 6F
F3 66 6F

F3 26 A6
F3 A6
F3 A7
F3 66 A7

F3 AE
F3 AE
F3 AF
F3 66 AF
      REP MOVS ES:[DI],Byte Ptr [SI]
REP MOVSB
REP MOVSW
REP MOVSD

REP STOS Byte Ptr ES:[DI]
REP STOSB
REP STOSW
REP STOSD

REP LODS Byte Ptr [SI]
REP LODSB
REP LODSW
REP LODSD

REP INS Byte Ptr ES:[DI],DX
REP INSB
REP INSW
REP INSD

REP OUTS DX,Byte Ptr [SI]
REP OUTSB
REP OUTSW
REP OUTSD

REP CMPS ES:[DI],Byte Ptr [SI]
REP CMPSB
REP CMPSW
REP CMPSD

REP SCAS Byte Ptr ES:[DI]
REP SCASB
REP SCASW
REP SCASD

    

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 153 - REP

    

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