Settaggio SP AVR e Interrupt table
Salve a tutti, ho da poco iniziato a studiare l'assembly AVR per at90s8535 e mi sorgono alcuni dubbi, ho due domande da porvi.
1)
Sto cercando di scrivere qualche programmino banale, per prendere dimestichezza con avr studio e ho notato
che in qualche programma già svolto vi è all'inizio del codice, oltre alle varie direttive vi è il settaggio dello stack pointer. Quello che non capisco è il motivo per cui per settarlo si fa uso del registro r16.
Ho notato che per l'istruzione LDI i registri utilizzabili sono da 16 a 31, ma vorrei capirne il motivo.
2)
Altra cosa che non mi è chiara è l'interrupt table. Ho capito cosa sono gli interrupt e che possono essere interni o esterni. Ma non ho capito come gestirli con l'interrupt table, mi servirebbe un esempio pratico prefiribilmente a parole che mi fa capire il funzionamento dell'inrettupt table ogni volta che avviene un interrupt.
Grazie in anticipo a tutti
1)
Sto cercando di scrivere qualche programmino banale, per prendere dimestichezza con avr studio e ho notato
che in qualche programma già svolto vi è all'inizio del codice, oltre alle varie direttive vi è il settaggio dello stack pointer. Quello che non capisco è il motivo per cui per settarlo si fa uso del registro r16.
Ho notato che per l'istruzione LDI i registri utilizzabili sono da 16 a 31, ma vorrei capirne il motivo.
2)
Altra cosa che non mi è chiara è l'interrupt table. Ho capito cosa sono gli interrupt e che possono essere interni o esterni. Ma non ho capito come gestirli con l'interrupt table, mi servirebbe un esempio pratico prefiribilmente a parole che mi fa capire il funzionamento dell'inrettupt table ogni volta che avviene un interrupt.
Grazie in anticipo a tutti