Le istruzioni INVOKEVIRTUAL ed IRETURN della IJVM attraverso una Demo. (By Francesco Tendi) |
L'animazione FLASH che troverete di seguito si propone di mostravi passo passo, cosa avviene sullo Stack di una macchina astratta IJVM, quando un programma (chiamante) prevede l'esecuzione di un metodo (il "metodo esempio") attraverso l'esecuzione dell'istruzione INVOKEVIRTUAL index, e ciò che avviene sullo Stack, quando alla fine del metodo viene eseguita l'istruzione IRETURN per ritornare al programma principale.
(per salvare clicca con il tasto destro del mouse e poi clicca su "salva oggetto con nome") |
Sono a vostra disposizione, oltre ad una pagina con la Demo, sia il sorgente dell'animazione che il filmato compilato.Le animazioni sono state sviluppate attraverso Macromedia FLASH MX (per scaricare scaricare la versione trial clicca qui ).
ERRORI: C'e' un errore nella figura dell'animazione: gli indirizzi di memoria sono indirizzi che fanno riferimento alle istruzioni, mentre dovrebbero far riferimento ai primi byte che contengono le istruzioni (come sappiamo ci sono istruzioni formate da un singolo byte, da due o da tre byte). Quindi, in realta', se, come nella figura dell'animazione, all'indirizzo 0x3F2 c'e' l'istruzione 0x15 0x01, l'istruzione successiva dovrebbe iniziare al byte di indirizzo 0x3F4.