ARPL - Nastav pole RPL selektoru
Verze z 9. 11. 2012, 21:18, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Assembler pismeno D)
- Instrukce
- ARPL - Nastav pole RPL selektoru
- Časování
- 10-11 (80286), 20-21 (80386)
- Popis
- Instrukce ARPL je navržena k tomu, aby zabránila systémovým programům získat prístup k podprogramum s vyšší úrovni priority. První operand instrukce ARPL je 16-bitová paměťová promenná nebo registr délky slova, která(y) obsahuje hodnotu selektoru. Druhý operand je registr o délce slova. Je-li pole RPL (Requested Privilege Level) 1. operandu menší než pole RPL druhého operandu, je příznak nuly (ZF) nastaven do 1. Pole RPL prvního operandu je zvýšeno tak, aby se shodovalo s polem RPL druhého operandu. Jinak je ZF nastaven do 0 a první operand instrukce ARPL není nikterak modifikován.
- Syntaxe
- ARPL (selektor, CS_selektor)
- Ovlivňuje příznaky
- ZF
- Nedefinované příznaky
- žádné
- Výjimky v privilegovaném módu
- Je-li výsledek v segmentu neprístupnem zápisu, je generována všeobecna výjimka porušení ochrany paměti. Pro nedovolenou efektívni adresu operandu nacházejíci se v registrech CS, DS nebo ES je generov8na rovňež všeobecná výjimka. Jestliže SS obsahuje nedovolenou adresu, je generována výjimečná situace "chyba zásobníku".
- Výjimky v reálnem módu
- Je generováno přerušení INT 6. Instrukce ARPL není v RM rozpoznána.
- Příklad
ARPL MEM_WRD,BX