Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | Dernière révisionLes deux révisions suivantes | ||
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] – ↷ Page déplacée de back2root:ibm-pc-ms-dos:asm:instr:rep à back2root:ibm-pc-ms-dos:instr:rep 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>: | ||