REP/REPZ/REPE/PEPNE/REPNZ - opakuj řetezcovou operaci

Z Delphi & Pascal (česká wiki)
Verze z 11. 1. 2013, 18:14, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Assembler pismeno R-S)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání
Instrukce
REP/REPZ/REPE/PEPNE/REPNZ - opakuj řetezcovou operaci
Časování
5+9xN, kde N je počet iterací
Popis
REP, REPE a REPNE jsou prefixové operace které způsobují že primitívní operace s řetezci zapsána jako operand těchto operací bude prováděna opakovane tak dlouho dokud nebude registr CX roven nule. Pro instrukce SCAS a CMPS repetice končí v případe že po opakování instrukce za prefixem se příznak ZF líší od "z"-bitu prefixu.


Syntaxe
REP
REPE
REPNE


Ovlivňuje příznaky
žádné


Nedefinované příznaky
žádné


Poznámka pro 80386
Šírka slova je 32 bitů.


Příklad
LEA DI, VALUE1   ; připrav cílový řetezec
LEA SI, VALUE2   ; připrav zdrojový řetezec
REPE CMPSB       ; opakuj pokud jsou si ve srovnání byte-po-byte rovny