Přidáno 1 703 bajtů,
4. 1. 2013, 17:44 ;Instrukce
: MOVS/MOVSB/MOVSW - přesun bytový nebo slovní řetězec
;Časování
: 5 (80286), 7 (80386)
;Popis
: Instrukce MOV přesouvají obsah slova (bytu) referovaného [[SI]] ([[ESI]]) do slova (byte) adresovaného [[ES]]:[[DI]] ([[ES]]:[[EDI]]). Cílový operand musí být adresovatelný z registru [[ES]]. Po vykonáni instrukce jsou [[DI]]([[EDI]]) i [[SI]] ([[ESI]]) automaticky aktualizovaný. Při [[DF]]=0 (byla vykonána instrukce [[CLD]]) jsou registry inkrementovány, jinak (pri [[DF]]=1 (byla vykonána instrukce [[STD]])) jsou registry automaticky dekrementovány. Dekrement/inkrement je 1 pro bytové a 2 pro slovní operace.
;Syntaxe
: MOVS destination_string, source_string
: MOVSB (žádné operandy)
: MOVSW (žádné operandy)
;Ovlivňuje příznaky
: žádné
;Nedefinované příznaky
: žádné
;Výjimky v privilegovaném módu
: Jestliže registry [[CS]], [[DS]] nebo [[ES]] obsahují neplatné efektívni adresy operandu, je generována všeobecná výjimka porušení ochrany paměti. Jestliže [[SS]] obsahuje neplatnou adresu, je generována výjimka "[[chyba zásobníku]]". Jestliže je místo určení v segmentu nepřístupnem zápisu, je generována všeobecná výjimka porušení ochrany paměti.
;Výjimky v reálnem módu
: Jestliže je slovní operand na offsetu 0FFFFH, je generováno přerušení [[INT 13]].
;Poznámka pro 80386
: Adresy v paměti jsou vytvárený pomocí 32-bitové efektívni adresy. Délka řetezce je odvozená od registru [[ECX]].
;Příklad
LEA SI, MYSOURCE
LEA DI, ES:HERDESTINATION
MOV CX, 50
REP MOVS HERDESTINATION
[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]