MOVZX/MOVSX - přesun s extenzi znaménkového bitů

Z Delphi & Pascal (česká wiki)
Verze z 4. 1. 2013, 18:02, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Assembler pismeno L,M)
(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
MOVZX/MOVSX - přesun s extenzi znaménkového bitů
Časování
3 - 6
Popis
Instrukce MOVZX a MOVSX jsou doplněny k instrukcím presunu MOV k tomu, aby bylo možné přesunout 8-mi nebo 16-bitovou hodnotu do registru s extenzi (nuly nebo znaménka) do 16-ti nebo 32 bitů.


Syntaxe
MOVZX register, register/memory
MOVSX register, register/memory


Ovlivňuje příznaky
žádné


Nedefinované příznaky
žádné


Výjimky v privilegovaném módu
V případe, že adresa operandu v paměti porušuje přístupová práva nebo leží vně hranic segmentu je generována všeobecná výjimka porušení ochrany paměti. Pri neplatné adrese v segmentu SS je generována výjimka "chyba zásobníku".


Výjimky v reálnem módu
Jestliže je slovní operand na ffsetu 0FFFFH, je generováno přerušení INT 13.


Příklad
 MOVZX EAX, BX
 MOVZX CX, AL
 MOVSX AX, BX ; normálni přesun
 MOVSX ECX, CL
 MOVSX EAX, MYMEMORY