Finora ho programmato solo con il C. Adesso vorrei scendere piu a basso livello, ma nel marasma di internet purtroppo non riesco a trovare una guida sull'assembly dei mc atmega. Sono piu o meno tutte guide in c. Ho trovato una guida assembler sulla serie at90. Può andare bene per iniziare?
ATmega assembler
May 15, 2008
7 Replies
da
E' essenziale scaricarsi il datasheet del micro specifico e capire bene l'organizzazione della memoria, dei registri di controllo dell'MCU, dei clock, degli interrupt, del reset-vector (pu=F2 supportatarne pi=F9 di uno), e varie altre bazze di contorno.
Poi, dare un'occhiata alla tabella riassuntiva dei mnemonici con la breve descrizione funzionale ed i flag che vengono interessati.
A questo punto l'assembly diventa meno misterioso e pu=F2 essere efficacemente utilizzato.
Per una guida on-line, ti consiglio di installare AVRStudio4: nell'help c'=E8 tutto, istruzione per istruzione.
Ciao.
Il giorno Thu, 15 May 2008 03:39:47 +0200, "Cosimo" ha scritto:
Si trovano diverse appnote e altra roba sul sito Atmel:
formatting link
su avrfreak (ma devi registrarti, non inviano spam)
formatting link
poi questo sito che è la bibbia degli 'assemblearisti'
formatting link
con parecchie routine già fatte, si trovano anche dei tutorial e per esempio la mitica FLOAT 128 per operazioni a 128 bits in assembler.
-- ciao Stefano
">
Ho cliccato lì e...
L'assistente di IE di Spybot-S&D ha individuato un URL noto come risorsa nociva. h-ttp://ad.yeldmanger.com/st?ad_type=iframead_size=728x90section=265907 Right Media
Il giorno Thu, 15 May 2008 13:43:31 +0200, "Lucas" ha scritto:
Io in Windows uso Firefox con Noscript per cui non ho il problema.
-- ciao Stefano
Come pensavo, purtroppo. Avrei voluto qualcosa di piu introduttivo, visto che l'unico linguaggio assembler che conosco è quello del ... 6502. Vedrò di capirci qualcosa.
Il giorno Thu, 15 May 2008 15:48:25 +0200, "Cosimo" ha scritto:
Se tu fossi venuto dalla Z80 sarebbe stata tutta discesa.
Direi che con gli AVR ti va decisamente meglio che col 6502, visto che qui non hai solo un accumulateore e un puntatore, ma 32 registri, di cui 16 'accumulatori', nel senso che possono essere usati come sorgente o destinazione di operazioni tra registri, e 16 ' quasi accumulatori' che non supportano tutte le operazioni. Inoltre hai 3 coppie di registri puntatori X Y e Z che supportano direttamente il postincremento e il predecremento ( Z+ -Z) .
Guarda bene l'istruzione LPM che forse è quella un pò più ostica da capire per chi viene da un architettura diversa di µC.
Poi se vuoi qualche chiarimento chiedi pure!
-- ciao Stefano
Tutti quei registri mi spaventano un po' :-)
Questo è interessante
Ok
Hai già fatto abbastanza, ora mi devo studiare l' ISA.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required