LINGUAGGIO ASSEMBLY PER MICROCONTROLLORI

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
gastone90

LINGUAGGIO ASSEMBLY PER MICROCONTROLLORI

Messaggio da gastone90 »

ciao; ho un piccolo robot, cotruito un paio di anni fa, me ne pento ancora dato che gli stessi pezzi pagati una follia si potevano comprare con tipo 40 euro :cry: . comunque, ora che ce l'ho vorrei farci qualcosa; ho fatto gia un centinaio di programmi, è un bel robottino, si possono fare tante cose ; l'unica pecca è che per progammarlo si usa il basic :evil: :evil: ; due anni fa non mi cambiava niente, dato che usavo windows e che conoscevo solo il basic stamp (una derivazione del basic usata per questo robot); la parallax ( http://www.parallax.com ), che è la ditta che ha fatto i circuiti, ha anche fatto un prog per linux, ma la cosa che mi interessa è di poterlo programmare non in basic; la prima alternativa sarebbe l'assembled, che però, da quanto mi dice mio cugino, è abbastanza difficile per la mia età :? . però dato che questa è l'unica soluzione, vorrei provarla. vorrei sapere se qualcuno a già usato l'assemebled e se è veramente difficile, e se conoscete prog (e howto) per scrivere in assembled; è che mi scoccia non usare questo robot solo per il linguaggio :evil:

P.S. su gogle non ho trovato granchè
Ultima modifica di gastone90 il gio 11 ago 2005, 17:01, modificato 2 volte in totale.

sir_alex
Linux 3.x
Linux 3.x
Messaggi: 735
Iscritto il: lun 21 mar 2005, 0:00
Kernel: 2.6.35-22
Desktop: KDE4
Distribuzione: Ubuntu
Località: Milano - Corbola (RO)
Contatta:

Messaggio da sir_alex »

Bè, da quel (poco) che so io di assembly (fatto quest'anno a info2!!!), per cercare una guida bisogna che tu veda che microprocessore ha su il tuo robot, ad esempio noi quest'anno abbiamo fatto assembly per m68k, l'arm ha il suo, l'intel ha il suo etc etc etc; scoperto il tuo processore penso tu trovi qualche tutorial su internet, e quantomeno sul sito della tua casa produttrice del micro dovrebbe esserci una qualche guida sul loro assembly (l'intel ha una sezione development, così come la Motorola e penso anche le altre varie case)... Spero di non aver detto cavolate... :lol:

gastone90

Messaggio da gastone90 »

sir_alex ha scritto:Spero di non aver detto cavolate... :lol:
Si sapevo che dovevo conoscere tutto l'hardware, adesso andrò a cercare qualche prog e howto specifico. grazie :D :D

P.S. Ma è difficile? :?

Vlk
Linux 3.x
Linux 3.x
Messaggi: 671
Iscritto il: mer 9 feb 2005, 0:00

Messaggio da Vlk »

Complimenti per il robot. Beh, credo che tu ti riferisca al linguaggio assembly (edit: hai ragione, si chiama anche assembler). Il problema è che è un linguaggio molto difficile, ma efficientissimo per la programmazione di microcontrollori. Purtroppo non lo conosco, ma ti posso dire che è un linguaggio che, al di là delle sua difficoltà, è difficile perchè devi sapere benissimo il tipo di pic che vai a programmare dal punto di vista hardware. Vorrei fare di più, ma la mia ignoranza mi consente solo di inviarti dei link
http://itassembly.cjb.net/
http://webster.cs.ucr.edu/AoA/DOS/
http://www.programmazione.it/front/inde ... egory=1036
Un altro consiglio: l'open spurce c'è anche in questo campo. Molti programmano pic e rendono disponibile il codice senza problemi. Ho trovato questo sito he può aiutarti: http://www.programmersheaven.com/zone5/index.htm
Ti consiglio di spulciare anche la parte sui mitici proci Z80. Se però l'assembly ti scoraggia, ti comunico che molti pic vengono programmati anche in C e addirittura ho letto in C++.

p.s. una curiosità: hai delle conoscenze particolari che ti hanno permesso di costruirlo (cioè hai studiato elettronica, ingegnere etc etc) oppure l'hai fatto montandolo da autodidatta?

sir_alex
Linux 3.x
Linux 3.x
Messaggi: 735
Iscritto il: lun 21 mar 2005, 0:00
Kernel: 2.6.35-22
Desktop: KDE4
Distribuzione: Ubuntu
Località: Milano - Corbola (RO)
Contatta:

Messaggio da sir_alex »

Bè, la difficoltà dipende dal processore che usi, oltre al fatto che devi scrivere direttamente in memoria quindi devi avere una buona idea della struttura del processore! Io ho fatto m68k e per i programmi semplici che abbiamo fatto non era poi così difficile, ma l'm68k (che è un Motorola, per la cronaca) è un processore relativamente semplice, e comunque noi usavamo una piccola parte delle sue potenzialità (ad esempio non abbiamo trattato gli interrupt hardware)! Tu prova comunque a dare un'occhiata, male non fa, no? :wink:

gastone90

Messaggio da gastone90 »

Per Vlk
Ho 15 anni, quindi non ho studiato ingegneria ;-) l'ho costruito seguendo un manuale fatto molto bene e semplice per quel tempo dato che avevo 12 anni.

Per sir_alex
sir_alex ha scritto: male non fa, no? :wink:
Visto che siamo in argomento non è che facendo qualche boiata rischio di rovinare l'hardware? perchè ho vari chip da gestire, implementazioni di output/input, convertitori analogico/digitale, ecc.. in poche parole non vorrei bruciare tutto :wink:

Vlk
Linux 3.x
Linux 3.x
Messaggi: 671
Iscritto il: mer 9 feb 2005, 0:00

Messaggio da Vlk »

Beato te che sei giovane :cry:
Io a 21 anni suoni non ho fatto nè Itis e nè sono riuscito a fare qualche esame a ing.elettronica, per cui dovrò imparare tutto da solo. MIi raccomando, sei ancora un giovincello, non fare la stessa fine mia :D

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

ti potrebbe anche servire
"the art of assembly language"

se però devi ancora imparare a programmare, ti consiglio il C

ciao!

gastone90

Messaggio da gastone90 »

il c++ lo sto imparando, dov'è che si trova "the art of assembly language"?

Avatar utente
marco79
Linux 2.x
Linux 2.x
Messaggi: 451
Iscritto il: gio 14 ott 2004, 0:00
Località: Como
Contatta:

Messaggio da marco79 »

L'assembler nn è molto gradevole soprattutto se nn hai mai programmato.Poi ti consiglio di cercare in rete il tutorial picbyexample basato sui pi c della microcip.E fatto molto bene.Guarda anche http://www.microchipc.com/ che ti permette di programmare gli stessi pic in c.Buon divertimento!

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

http://webster.cs.ucr.edu/AoA/index.html

comunque ti converrebbe prima imparare il C...ti consiglio

http://www.libreriauniversitaria.it/BIT ... azione.htm

perchè è molto chiaro e ti farà capire molto bene cosa vuol dire programmare
ciao!

sir_alex
Linux 3.x
Linux 3.x
Messaggi: 735
Iscritto il: lun 21 mar 2005, 0:00
Kernel: 2.6.35-22
Desktop: KDE4
Distribuzione: Ubuntu
Località: Milano - Corbola (RO)
Contatta:

Messaggio da sir_alex »

gastone90 ha scritto: Visto che siamo in argomento non è che facendo qualche boiata rischio di rovinare l'hardware? perchè ho vari chip da gestire, implementazioni di output/input, convertitori analogico/digitale, ecc.. in poche parole non vorrei bruciare tutto :wink:
Non credo tu possa bruciare qualcosa, certo io l'm68k lo facevo girare su un simulatore :D però se inizi con qualcosa di semplice e via via complichi non dovrebbero esserci grandi problemi; se poi è un micro conosciuto magari ci sono simulatori in giro!

Avatar utente
Sari
Linux 3.x
Linux 3.x
Messaggi: 584
Iscritto il: mer 16 feb 2005, 0:00
Slackware: 12.1
Kernel: 2.6.24
Desktop: Gnome
Località: Verona

Messaggio da Sari »

i simulatori ci sono, ma la difficoltà dell'assembler è notevole. Io l'ho imparato per... non me ricordo, era un microcontrollore samsung (gia dimenticato ovviamente :p). Ho programmato una specie di termostato con gli imput analogici e tutto il resto, un casino, un lavoro di 2 mesi. Credo che se vorrai programmare egregiamente il tuo robot dovrai spendere molto tempo. Dovrai studiarti bene ogni aseptto elettronico, a partire dal funzionamento basilare dei microprocessori, come funzionano e come elaborano, poi potresti cominciare con il glorioso z80 (simulatori in giro si trovano) e poi passare a leggerti i datasheet del procio che monta il robottino confrontando il set di istruzioni con quello dello z80 e facendo le dovute considerazioni. L'aspetto complesso è che programmare in assembler i microcontrollori (non microprocessori) è roba da elettronici o ingegneri, bisogna avere una conoscenza chiara di tutti i componenti, dal controllore ai sensori agli output vari.

gastone90

Messaggio da gastone90 »

be grazie per i chiarimenti vedrò cosa riuscirò a fare. :D

Avatar utente
People
Linux 2.x
Linux 2.x
Messaggi: 216
Iscritto il: mar 22 giu 2004, 0:00
Slackware: 12.1
Kernel: 2.6.
Desktop: KDE

Messaggio da People »

Ciao, ho programmato assembler, su diverse piattaforme, ho sempre fatto riferimeto alle gude dei produttori dei chip nei rispettivi siti.
Voglio metterti in guardia sul fatto che per programmare in assembler devi conoscere non solo il chip che stati programmando, ma anche tutto l'hardware con cui questo ha a che fare. Se commetti qualche errore puoi, purtroppo, brucare tutto, sia il microcontrollore (qui dipende dalla bontà dell'hw) sia le periferiche, soprattutto se vai a gestire periferiche di potenza.
Ciao.
P.

Rispondi