TEST di autovalutazione |
TEST di autovalutazione |
1 | Nel Linguaggio Macchina per passare alla esecuzione di una procedura è necessario: | ||
A) | Scrivere il nome della procedura in Memoria seguito dall'elenco dei relativi parametri con una istruzione load word | ||
B) | Scrivere in una istruzione il nome della procedura seguito dall'elenco dei relativi parametri | ||
C) | Scrivere il nome della procedura in un registro del processore seguito dall'elenco dei relativi parametri con una istruzione store word | ||
D) | Porre l'indirizzo della prima istruzione della procedura nel Program Counter, e salvare l'indirizzo di ritorno all'esecuzione del programma chiamante con una istruzione di salto |
2 | Nel Linguaggio Macchina l'indirizzo di ritorno dalla chiamata di una procedura è: | ||
A) | L'indirizzo dell'ultima istruzione della procedura chiamata | ||
B) | L'indirizzo della istruzione del programma chiamante che precede l'istruzione jal di salto alla esecuzione della procedura | ||
C) | L'indirizzo della istruzione del programma chiamante successiva alla istruzione jal di salto alla esecuzione della procedura | ||
D) | L'indirizzo della prima istruzione della procedura chiamata |
3 | Nel Linguaggio Macchina MIPS i valori dei parametri vengono passati alla procedura chiamata: | ||
A) | Nella esecuzione del programma chiamante scrivendoli nei registri $a0, $a1, $a2, $a3 prima di effettuare il salto alla esecuzione della procedura | ||
B) | Nella esecuzione del programma chiamante scrivendoli nei registri $v0, $v1 prima di effettuare il salto alla esecuzione della procedura | ||
C) | Nella esecuzione del programma chiamante scrivendoli nel registro $ra prima di effettuare il salto alla esecuzione della procedura | ||
D) | Nella esecuzione del programma chiamante scrivendoli nei registri $t e $s durante l'esecuzione della procedura |
4 | Nel Linguaggio Macchina MIPS i valori calcolati dalla procedura chiamata vengono passati al programma chiamante: | ||
A) | Nella esecuzione della procedura scrivendoli nel registro $ra prima di effettuare il salto di ritorno al programma chiamante | ||
B) | Nella esecuzione della procedura scrivendoli nei registri $a0, $a1, $a2, $a3 durante l'esecuzione della procedura | ||
C) | Nella esecuzione della procedura scrivendoli nei registri $v0, $v1 durante l'esecuzione della procedura | ||
D) | Nella esecuzione della procedura scrivendoli nei registri $t e $s durante l'esecuzione della procedura |
5 | Nel Linguaggio Macchina MIPS l'indirizzo di ritorno al programma chiamante è salvato: | ||
A) | Nella esecuzione della procedura scrivendolo nel registro $v0 prima di effettuare il salto di ritorno alla esecuzione del programma chiamante | ||
B) | Nella esecuzione del programma chiamante scrivendolo nel registro $a0, prima di effettuare il salto alla esecuzione della procedura | ||
C) | Nel registro riservato $ra nella esecuzione della istruzione jal che effettua il salto alla procedura | ||
D) | Nella esecuzione del programma chiamante scrivendolo in uno dei registri $t e $s, prima di effettuare il salto alla esecuzione della procedura |
6 | Nel Linguaggio Macchina MIPS il ritorno alla esecuzione del programma chiamante è effettuato: | ||
A) | Da una istruzione contenuta nel call-stack | ||
B) | Mediante l'esecuzione della istruzione jal che alla fine della procedura effettua il salto di ritorno al programma chiamante | ||
C) | Mediante l'esecuzione della istruzione j che alla fine della procedura effettua il salto di ritorno al programma chiamante | ||
D) | Mediante l'esecuzione della istruzione jr che alla fine della procedura effettua il salto di ritorno al programma chiamante |
7 | Le chiamate di procedura annidate sono gestite: | ||
A) | Dal Compilatore | ||
B) | Utilizzando una struttura dati di Tipo Array, ponendo le informazioni relative ad ogni procedura negli elementi dell'Array | ||
C) | Utilizzando i registri del processore | ||
D) | Utilizzando una struttura dati di Tipo stack, scrivendo le informazioni relative ad ogni procedura in un segmento, detto frame, delle locazioni di Memoria assegnate allo stack |
8 | L'errore di call stack overflow avviene quando: | ||
A) | Il numero delle chiamate di procedura effettuate non può essere rappresentato con 32 bit | ||
B) | Si esaurisce lo spazio di Memoria assegnato alla struttura dati call stack | ||
C) | Una procedura chiamata calcola un valore che non può essere rappresentato con 32 bit nel call stack | ||
D) | Il numero dei parametri della procedura non può essere rappresentato con 5 bit nel call stack |
9 | Nel Linguaggio macchina MIPS il Formato e la Modalità di Indirizzamento dell'istruzione jal sono: | ||
A) | Formato di Tipo I e Indirizzamento relativo al Program Counter | ||
B) | Formato di Tipo R e Indirizzamento immediato | ||
C) | Formato di Tipo J e Indirizzamento pseudodiretto | ||
D) | Formato di Tipo J e Indirizzamento tramite registro |
10 | Nel Linguaggio macchina MIPS il Formato e la Modalità di Indirizzamento dell'istruzione jr sono: | ||
A) | Formato di Tipo R e Indirizzamento immediato | ||
B) | Formato di Tipo J e Indirizzamento pseudodiretto | ||
C) | Formato di Tipo R e Indirizzamento tramite registro | ||
D) | Formato di Tipo I e Indirizzamento relativo al Program Counter | ||