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

From Delphi & Pascal (česká wiki)
Jump to navigation Jump to search
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