Změny

Skočit na navigaci Skočit na vyhledávání

CALL - volání procedury

Přidáno 30 bajtů, 9. 11. 2012, 22:18
m
1 revízia: Assembler pismeno D
;Popis
: Instrukce [[CALL ]] způsobuje, že adresa příští vykonávané instrukce je uchována v zásobníku a řízení programu je predáno operandu instrukce [[CALL]]. Po ukončení volané procedury vykonáva volajíci program instrukce nasledujíci bezprostredne za instrukcí [[CALL]].
* volání "NEAR direct CALLS": je generována všeobecná výjimka přivilegovaného módu v případe, že procedúra je lokalizována vňe segmentu CS.
* volání "NEAR indirect CALLS": je generována všeobecná výjimka přivilegovaného módu při neplatné efektívni adrese operandu v segmentových registrech [[CS]], [[DS ]] nebo [[ES ]] a nebo výjimka "chyba zásobníku" při neplatné adrese v segmentu [[SS]]. Všeobecná výjimka přivilegovaného módu je generovaná také v případe, že je získán nepřímy offset ležíci mimo hranice segmentu [[CS]].
;Výjimky v reálnem módu
: Je generováno přerušení [[INT 13 ]] v případe, že slovní operand má offset 0FFFFH.
;Příklad:
CALL ADDER ; procedúra je uvnitr nebo vňe segmentu
pro 80386: CALL IMMPTR ; Operand typu ukazatel je 48-bitový
CALL DISP16 ; Užíva 32-bitový rozšírený ukazatel instrukce
CALL registr nebo paměť
; posunuti je 32-bitové. ; slovní operandy jsou 32-bitové
[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]

Navigační menu