Otevřít hlavní menu

Změny

NEG - negace ve dvojkovém doplňkovém kódu

Přidáno 1 238 bajtů, 10. 1. 2013, 16:57
bez shrnutí editace
;Instrukce
: NEG - negace ve dvojkovém doplňkovém kódu

;Časování
: 2-7 (80286), 2-6 (80386)

;Popis
: Instrukce NEG odečíta operand od 0, pričíta k takto vznikle hodnote 1 a vrací výsledek na místo původního operandu, vytvárejíc tak dvojkový doplnek. Příznak [[CF]] je nastaven na 1 (s výjimkou nulového operandu, který způsobí nastavení [[CF]] na 0).


;Syntaxe
: NEG destination


;Ovlivňuje příznaky
: [[OF]], [[SF]], [[CF]], [[ZF]], [[AF]], [[PF]]


;Nedefinované příznaky
: žádné


;Výjimky v privilegovaném módu
: V případe, že výsledek je v segmentu chráněném proti zápisu, je generována všeobecná výjimka porušení ochrany paměti. Jestliže registry [[CS]], [[DS]] nebo [[ES]] obsahují neplatné efektívní 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]]".


;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
: Šírka slova je 32 bitů.


;Příklad
NEG AL
NEG EBX (jen pro 80386)

[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]