Přidáno 1 529 bajtů,
9. 11. 2012, 17:48 ;Instrukce
: ENTER - vytvor prostor v zásobníku pro parametry procedúry
;Časování
: 11-16 (80286), 10-19 (80386)
;Popis
: Instrukce [[ENTER]] se používá pro vytvoření prototypu struktúry uchovávajíci parametry, jejiž použití je typické pro většinu vyšších programovacích jazyku. První operand specifikuje velikost požadované alokované dynamické paměti, již je treba vymezit pro parametry v zásobníku při vstupu do procedúry. Druhý operand udáva úroveň vnoření podprogramu vzhledem k zdrojovému programu ve vyšším programovacím jazyce. Instrukce [[ENTER]] určuje, jaké množství ukazatelů (ze staré struktury pro volání) je treba kopírovat do nové struktury. [[BP]]([[EBP]]) je použit jako aktuální ukazatel do struktúry. Je-li druhý operand roven 0, [[ENTER]] ukládá [[BP]] ([[EBP]]), nastavuje [[BP]] ([[EBP]]) na hodnotu [[SP]] ([[ESP]]) a odečítá první operand od [[SP]] ([[ESP]]).
;Syntaxe
: ENTER immediate_word, immediate_byte
;Ovlivňuje příznaky
: žádné
;Nedefinované příznaky
: žádné
;Výjimky v privilegovaném módu
: Pokud registr [[SP]] odkazuje na adresu mimo limit zásobníku, je generována výjimka "[[chyba zásobníku]]", a to v libovolné fázi vykonávaní instrukce [[ENTER]].
;Poznámka pro 80386
: Jsou použity 32-bitové registry [[EBD]] a [[ESP]]. Velikost struktúry je zvětšená ze 16 na 32 bitů.
[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]