Změny

Skočit na navigaci Skočit na vyhledávání

MOVS/MOVSB/MOVSW - přesun bytový nebo slovní řetězec

Přidáno 1 703 bajtů, 4. 1. 2013, 17:44
bez shrnutí editace
;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]]

Navigační menu