Tutorial |
Dettaglio Istruzioni |
Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [I/ 017 di 198] |
|
|
Questa istruzione organizza la chiamata e l'esecuzione di una procedura, cioè un sottoprogramma terminato con RET. | |
La procedura chiamata può essere di tipo NEAR, cioè posta dentro il segmento di codice in cui è chiamata, o FAR, in caso contrario; questa caratteristica impone all'istruzione un diverso modo di gestire le operazioni. |
Le sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni ): |
CALL Destinazione | IP << Destinazione | |||||||||||||||
Esempio di Applicazione |
Cicli di Clock | Mem Acces |
N° Bytes |
Flag influenzate | ||||||||||||
Mnemonico | Operandi | 86 | 268 | 386 | 486 | O | D | I | T | S | Z | A | P | C | ||
CALL |
LabelNear |
19 | 7 | 7+m | 3 | 1 | 3 | |||||||||
CALL |
Far Ptr Label |
28 | 13 | 17+m | 18 | 2 | 5 | |||||||||
CALL |
AX |
16 | 7 | 7 | 5 | 1 | 2 | |||||||||
CALL |
[Depo02] |
21+EA | 11 | 10+m | 5 | 2 | 2,4 |
La tabella evidenzia che
l'istruzione non altera alcuna flag (almeno se non si effettua un cambio di
processo). Inoltre mostra le possibili tipologie
dell'unico operando:
| |||||||
La procedura può essere già presente nell'apposita zona del programma, o assunta da una libreria (dichiarata, in questo caso, esterna, EXTRN). |
Se la chiamata di procedura è
NEAR l'istruzione provvede ai seguenti compiti:
|
Se la chiamata di procedura è FAR
l'istruzione provvede ai seguenti compiti:
|
Le 2 sequenze precedenti sono tratte dalle preziose schede dedicate allo Stack: se vuoi scoprire in dettaglio cosa fa il processore in questi casi consulta quelle dedicate alla gestione di CALL NEAR e alla gestione della CALL FAR. |
Dopo l'esecuzione di CALL il processore si viene a trovare in tutt'altro ambiente, lontano dal programma principale da cui è partito, nel medesimo segmento se NEAR o addirittura in un altro se FAR; si mette ad eseguire diligentemente tutte le istruzioni della procedura, in attesa della RET, che gli consentirà di tornare nel suo percorso nativo, naturalmente a partire dall'indirizzo successivo a quello contenente l'istruzione CALL |
La figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi e del tipo di indirizzamento coinvolti (leggi le istruzioni): |
|
|
Scheda n° 07 | Istruzioni Cpu 80x86 | |||||||
Istruzione 017 - CALL |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|