Přidáno 2 055 bajtů,
4. 1. 2013, 17:35 ;Instrukce
: MOV - přesun dat
;Časování
: 2-19 (80286), 2-22 (80386)
;Popis
: Instrukce MOV kopíruje obsah zdrojového operandu do operandu cílového. K dispozici je několik instrukci [[MOV]] které mají všechny stejnou funkci: kopírují zdrojový operand do cílového beze změny zdrojového operandu.
;Syntaxe
: MOV destination,source
;Ovlivňuje příznaky
: žádné
;Nedefinované příznaky
: žádné
;Výjimky v privilegovaném módu
: Jestliže je naplňován segmentový registr, mohou být generovány výjimky:
* všeobecná výjimka porušení ochrany paměti
* výjimka "[[chyba zásobníku]]"
* výjimka "[[deskriptor nenalezen]]".
Všeobecná výjimka porušení ochrany paměti může být generována také v případe, že cílový operand leží v segmentu nepřístupněm zápisu. Jestliže registry [[CS]], [[DS]] nebo [[ES]] obsahují neplatné efektívni adresy operandu, je generována všeobecná výjimka ochrany paměti. Jestliže [[SS]] obsahuje neplatnou adresu, je generována výjimka "[[chyba zásobníku]]".
;Výjimky v reálnem módu
: Jestliže leží operand na offsetu OFFFFH, je generováno přerušení [[INT 13]].
;Poznámka pro 80386
: Šírka slova je 32 bitů. Adresy jsou vytvořeny pomocí 32-bitových efektívnich adres nebo 32-bitových offsetu.
;Příklad:
Do stradače z paměti
MOV AX, MEM_WRD
MOV ECX, MYWORD ; jen pro 80386
Do paměti ze stradače
MOV MEM_BYTE, AL
Do paměti/registru ze segmentového registru
MOV BX, ES
MOV TABLE[BX], SS
Do segmentového registru z paměti/registru
MOV ES, NEXT_WRD[SI]
MOV DS, AX
Do registru z registru
MOV CX, DI
MOV EAX, ECX ; jen pro 80386
Do registru z paměti/registru
MOV AX, MEM_VAL
MOV CX, [BP][SI]
Do registru z bezprostredního operandu
MOV DI, 513
MOV EAX, 12345678H ;jen pro 80386
Do paměti/registru z bezprostredního operandu
MOV TABLE[BP][SI], 25
MOV BX, 77
[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]