Otevřít hlavní menu

Změny

MOV - přesun dat

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