Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| back2root:ibm-pc-ms-dos:instr:rep [2023/02/24 14:16] – supprimée - modification externe (Unknown date) 127.0.0.1 | back2root:ibm-pc-ms-dos:instr:rep [2023/02/24 14:16] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. frater | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== REP ====== | ||
| + | |||
| + | ===== REP - Repeat String Operation ===== | ||
| + | |||
| + | Repeats execution of string instructions while CX != 0. After each string operation, CX is decremented and the Zero Flag is tested. | ||
| + | |||
| + | **Usage:** | ||
| + | <code asm> | ||
| + | REP MOVSB | ||
| + | </ | ||
| + | |||
| + | The combination of a repeat prefix and a segment override on CPU's before the 386 may result in errors if an interrupt occurs before CX=0. The following code shows code that is susceptible to this and how to avoid it: | ||
| + | |||
| + | <code asm> | ||
| + | again: rep movs byte ptr ES: | ||
| + | jcxz next ; | ||
| + | loop again ; | ||
| + | next: | ||
| + | </ | ||
| + | |||
| + | **Modifies flags: | ||
| + | |||
| + | <WRAP round box> | ||
| + | None | ||
| + | |||
| + | </ | ||
| + | |||
| + | ^ ^ Clocks | ||
| + | ^ Operands | ||
| + | | none | ||
| + | |||
| + | {{page> | ||