Tutorial
|
Dettaglio Istruzioni |
Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [I/ 048 di 198] |
|
![]() |
|
![]() | Questa istruzione organizza la chiamata e l'esecuzione di una procedura di Sistema, cioè un sottoprogramma terminato con IRET, di solito presente in una memoria a sola lettura (ROM) come la BIOS, o caricato in RAM dal Sistema Operativo (Funzioni DOS) o da un Driver (per esempio, quello del mouse). |
![]() | Si deve ritenere un particolare tipo di CALL FAR; rispetto ad essa oltre all'indirizzo far a cui tornare viene salvato anche il contenuto del registro delle flag. |
![]() | In pratica si comporta come un'interruzione mascherabile hardware, con la differenza che non può essere mascherata. |
![]() | Le sue caratteristiche sono riassunte nella
seguente tabella (leggi le istruzioni
![]() |
INT Numero | equivale a PUSHF + CALL FAR [numero*4] | |||||||||||||||
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 | ||
INT |
numero |
51 | 23+m | 37 | 30 | 5 | 2 | 0 | 0 | |||||||
INT |
3 |
52 | 23+m | 33 | 26 | 5 | 1 |
![]() | La tabella evidenzia che l'istruzione forza a zero le flag di Trap e di Interrupt-enable; l'istruzione genera 2 bytes di codice, con eccezione di quella con operando uguale a 3, detta Breakpoint ed estremamente utile in fase di debugging dei nostri programmi. |
![]() | L'istruzione INT provvede ai seguenti compiti:
|
![]() | La sequenza precedente è tratta dalle preziose schede dedicate allo Stack: se vuoi scoprire in dettaglio cosa fa il processore in questo caso consulta quella dedicate alla gestione di INT. |
![]() | Dopo l'esecuzione di INT XX, il processore si trova in tutt'altro ambiente, lontano dal programma principale da cui è partito, certamente in un altro segmento; si mette ad eseguire diligentemente tutte le istruzioni della procedura, in attesa della IRET, che gli consentirà di tornare nel suo percorso nativo, naturalmente subito dopo l'istruzione INT. |
![]() | 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 048 - INT |
|
|
|
Home
![]() |
|
|||||||
|
Motore Ricerca |
|