Esempi ed esercizi
Confronto tra vettori con subroutine
- Il programma verifica se due vettori sono uguali, chiamando un sottoprogramma (subroutine) che a sua volta effettua il confronto vero e proprio.
- Il sottoprogramma riceve come parametri gli indirizzi dei due vettori ed il numero di elementi e fornisce in uscita l’esito del confronto.
- Il passaggio dei parametri di ingresso e uscita avviene tramite registri.
- Perché ciò sia possibile, è necessario stabilire una convenzione tra programma chiamante e sottoprogramma chiamato riguardante l’uso dei registri usati per scambiare dati di ingresso e di uscita.
Esempi ed esercizi
Subroutine e passaggio tramite stack
- Il programma verifica se due vettori sono uguali, chiamando una subroutine.
- Il sottoprogramma riceve come parametri gli indirizzi dei due vettori ed il numero di elementi e fornisce in uscita l’esito del confronto.
- Il passaggio dei parametri di ingresso e usicita avviene tramite stack
- Perché ciò sia possibile, è necessario stabilire una convenzione tra programma chiamante e sottoprogramma chiamato riguardante l’uso dello stack per scambiare dati di ingresso e di uscita.
Esempi ed esercizi
Passaggio tramite stack ed uso della LINK
- Il programma verifica se due vettori sono uguali, chiamando una subroutine. Il passaggio dei parametri avviene tramite stack.
- A scopo illustrativo, si richiede che il sottoprogramma faccia uso di una variabile locale, allocata nello stack, durante la sua esecuzione.
- La gestione dell’area locale avviene tramite Frame Pointer ed uso delle istruzioni LINK / UNLK.
Esempi ed esercizi
Conteggio del numero di bit pari a 1
- Questo programma conta il numero di bit contenuti all’interno di un byte.
- Per farlo, utilizza l’istruzione BTST (bit test) che serve per controllare se l’i-esimo bit di una parola è 1 o 0.
Esempi ed esercizi
Conteggio del numero di bit pari a 1
- Questo programma conta il numero di bit contenuti all’interno di un byte.
- Per farlo, usa l’istruzione di shift logico a destra (LSR) sul byte.
Esempi ed esercizi
Conteggio del numero di bit pari a 1
- Questo programma conta il numero di bit contenuti all’interno di un byte.
- Per farlo, maschera otto volte il byte da testare, isolando di volta in volta il bit da testare: la “mascheratura” può essere effettuata ponendo in AND la parola di cui testare il bit con una parola fatta di tutti 0 tranne un 1 posto nella posizione da controllare.
Prossima lezione
Protezione ed interruzioni
- Problematiche di base
- Esempi con riferimento al caso del processore 68000