assemblatori e conversione in file hex

Ciao a tutti, spero di non disturbare. Devo scrivere dei programmini assembler sorgenti e convertirli in .hex da caricare su PIC (es: il classico 16F84 ecc.) Sto cercando uno o piu' programmi per assemblare o disassemblare i files ottenuti ma non so esattamente cosa cercare, (anche per mia conoscenza discreta ma non ottima del problema). Sono anche consapevole che l'argomento e' assai datato ma ora mi interessa ugualmente.

Preciso:

-ho il programmatore dei PIC con porta RS232 ed il programma PIC.programmer che so usare. Con questo tool carico sui PIC i files .hex . Tale programma scompatta anche un file .hex in assembler ma non riesco poi (non so se lo fa') a trasferire eventuali modifiche nel nuovo file .hex che vorrei ottenere. In fine quest'ultimo e' il mio problema.

-ho realizzato vari montaggi con PIC come frequenzimetri, generatori o decodificatori di CW , sintonia digitale per ricevitori, trasmettitori ecc. scrivendo sui relativi PIC files .hex di altri.

-ho un programma Mpasm grafico (fu pubblicato su CQ-Elettronica ) col quale si possono fare bene e facilmente solo piccole cose.

-ho anche buona volonta' di apprendere. Qualcuno ha voglia di darmi qualche input di dove cercare e cosa? Grazie anticipate Stevez

P.S. per contatti diretti togliere X e Y dall'indirizzo

Reply to
stevez
Loading thread data ...

stevez ha scritto: Con questo tool carico sui PIC i files .hex .

Quindi chiedi come disassemblare e riassemblare il programma? Premetto che non sempre la cosa è legale, in quanto spesso i file vengono forniti già compilati dall'autore proprio perché questi non vuole che il file venga modificato da terzi! Comunque per disassemblare il file cerchi un disassemblatore con Google, così otterrai il file sorgente (ovviamente non ci saranno le label, in quanto nel processo di assemblamento queste vengono tramutate in indirizzi), fai le modifiche che ritieni opportuno fare e poi riassembli con l'assemblatore (MPASM). Dopodiché scrivi il nuovo file nel pic.

Se non era questo che volevi sapere, per cortesia spiega meglio cosa intendi fare che cerchiamo di esserti utile.

Ciao!

--
Stefano Martini(Lemming)

Audaces fortuna juvat (Virgilio, Eneide)
 Click to see the full signature
Reply to
Stefano Martini

"Stefano Martini" ha scritto nel messaggio news:f4orhn$9br$ snipped-for-privacy@nnrp.ngi.it...

Ciao Stefano, grazie anzitutto per la gentile risposta. Desidero effettivamente fare cio' che hai capito. Conosco il discorso del ripspetto della proprieta' intellettuale.Tuttavia mi necessita qualche spiegazione ulteriore poiche' mi accingo a costruire un eccitatore HF-ssb su un progetto governato in parte da PIC ove l'autore mette a disposizione il file .hex indicando, a chi voglia duplicare il suo progetto, alcune modifiche che possono o non essere incluse. Da qui la mia necessita' di intervenire sul detto file .hex (anche per aumentare la mia conoscenza non troppo elevata in materia). Diciamo che per queste cose sarei poco piu' di un buon "giapponese"...a copiare...quindi capisco... ;-).

-dunque: non so che estensione debba avere il sorgente (.txt ?). Dopo aver caricato un file .hex su PIC-Programmer riesco a vedere il file sorgente ma non riesco poi a proseguire. Ho cosultato le indicazioni della Microchip e mi sono un po' perso in mezzo a mpasm (di cui ho scaricato un anno addietro una release demo originale e non sono mai riuscito ad usare). Avrai capito che in questa fase critica devo esser un po' condotto. Come mi muovo? Grazie ancora per una piu' completa spiegazione. Ciao Stevez

Reply to
stevez

Il giorno Wed, 13 Jun 2007 22:40:11 +0200, "stevez" ha scritto:

Poichè il file hex contiene non il sorgente ma il codice da caricare nel pic, mi sembra un controsenso suggerire delle modifiche e poi rilasciare solo il file hex, costringendo ad una reverse engineering in genere molto faticosa e non sempre fruttuosa.

In genere è asm.

Alcuni software per programmare i pic mettono a disposizione una semplice utility per il disassembly, ovvero per estrarre un sorgente (assembly) a partire dal codice macchina (file hex). Una volta visualizzato l'assembly, con un'operazione di seleziona tutto e poi copia e incolla dovresti essere in grado di incollare il sorgente in una documento di testo vuoto, e salvarlo poi con estensione asm.

Scaricati MPLAB, è una suite completa di assembler, compilatore C in versione base e simulatore, utile per il debugging del codice. Se hai l'ADSL è meglio, vista la dimensione del file di installazione...

Reply to
Luigi C.

"Luigi C." ha scritto nel messaggio news: snipped-for-privacy@4ax.com...

Ciao Luigi, anche a te molti ringraziamenti per le informazioni. E' vera la tua osservazione sul fatto che l'autore abbia messo a disposizione un file .hex per modificare il quale occore poi fare un gran lavoro. Ma tant'e'. Ora cerchero' MPLAB dalla Microchip, ma una volta ricavato il sorgente (.asm) con i vari passaggi che mi hai suggerito, poi posso tornare a .hex con la stessa "suite" ? Grazie ancora, penso che avro' bisogno di altre dritte ma al momento opportuno le scrivero' sul NG, le spiegazioni potrebbero servire anche ad altri Ciao Steve

Reply to
stevez

Ma scusa... hai provato a scrivere all'autore ed a chiedergli i sorgenti? E' probabile che ti risparmi ore ed ore di tedio a cercare di capire cosa fa il programma (semprech=E9 l'autore abbia messo qualche commento). Male che vada non ti risponde o ti dice di no, ma almeno hai provato.

Reply to
Darwin

Ma scusa... hai provato a scrivere all'autore ed a chiedergli i sorgenti? E' probabile che ti risparmi ore ed ore di tedio a cercare di capire cosa fa il programma (sempreché l'autore abbia messo qualche commento). Male che vada non ti risponde o ti dice di no, ma almeno hai provato.

Ciao, effettivamente la tua soluzione e' molto pratica e razionale ma non l'ho provata. La ragione e' che vorrei capire dove e come girarami in previsione di altre applicazioni. Non mi piace tutte le volte ricorrere all'autore per mutuare il suo cervello. Ho scoperto che gente molto preparata talvolta non e' cosi' incline ad...abbassarsi..al mio livello perche' non potrebbe forse parlare il suo "linguaggio" credendo di "perdere" del tempo non conoscendo la preparazione del corrispondente. Comunque grazie per il tuo cortesissimo e ...sagace ...suggerimento. Attualmente sono ad MPILAB e sto vedendo come muovermi. Ciao ancora Stevez

Reply to
stevez

Il giorno Thu, 14 Jun 2007 19:33:21 +0200, "stevez" ha scritto:

Padrone di fare come ti pare, ma quando si può cercare di evitare la reverse engineering... perlomeno prova a scrivergli, al massimo non ti risponderà o ti dirà che non intende distribuire il file asm.

Reply to
Luigi C.

"Luigi C." ha scritto nel messaggio news: snipped-for-privacy@4ax.com...

ok vedro' di percorrere anche la strada dell'autore. In ogni caso sarebbe molto gradito che, per favore, chi, piu' esperto, mi desse una diritta per uscire dalla spirale partendo da MPLAB che ho scaricato. grazie ancora Steves

Reply to
stevez

Contatta l'autore E' da molto tempo che non uso pi=F9 Windows, ma mi pare di ricordare che qualche software per programmare i pic, mi pare proprio ICprog, permetta di visualizzare un disassemblato del file HEX che si sta caricando. Prova un po' a caricare un file in memoria e vedere se non c'=E8 un'opzione che ti mostri il disassemblato...

Reply to
Darwin

stevez ha scritto:

Ciao! Scusa per il ritardo con cui ti scrivo, ero in..... ferie ;). Dunque: se hai scaricato ed installato MPLAB da Microchip, fai così:

1) Fai copia/incolla del file sorgente da ICProg o altro software che ti permetta di vedere il sorgente, oppure scaricati un disassemblatore (ne trovi parecchi cercando su Google, io mi trovo bene con Mikado, ma è questione di gusti/abitudine ;)). 2) Crei il sorgente dal file ASM (che deve avere l'estensione .asm) 3) Fai le modifiche che vuoi 4) Usi MPASMWIN, presente in MPASM, per compilare il sorgente e "ritrasformarlo" in .hex 5) Lo scrivi nel PIC come al solito.

Fatto!

Mi accodo comunque a Darwin e Luigi C. per dire che i sorgenti dall'autore sarebbero MOOOOOOOLLLTOOO preferibili e, tra l'altro, avresti commenti e label significative, quindi ti eviterebbero molti casini in fase di modifica!

Ciao! Stefano!

P.S. Quando rispondi ai post non mettere tutto il messaggio, ma solamente la parte a cui stai rispondendo se no il tuo post diventa un po troppo difficile da leggere e seguire, questo, naturalmente, vale per tutti i post sui newsgroup!

RiCiao!

--
Stefano Martini(Lemming)

Audaces fortuna juvat (Virgilio, Eneide)
 Click to see the full signature
Reply to
Stefano Martini

"Stefano Martini" ha scritto nel messaggio news:f52jsf$ubh$ snipped-for-privacy@nnrp.ngi.it...

......

Ciao Stefano, non preoccuparti per i tempi di risposta. Spero abbia fatto delle buone...ferie. Permettimi di sintetizzare cio' che ho (o non) capito:

1) parto da un file .hex e lo convero in file sorgente ad es. con Ic-prog o Mikado. 2) copio e salvo in una cartella il file sorgente come .txt 3) faccio le modifiche necessarie (mi accollo il plus-lavoro del caso) e risalvo con estensione .asm 4) avvio MPASMWIN, carico il mio file .asm e premo "compile" per avere il nuovo . hex 5) il resto e' noia...... :-))

Ho fatto tutto cio' per prova con un file .hex sicuramente funzionante senza introdurre modifiche e nella riconversione .asm ---> .hex mi ha dato errore.... Dove e' probabile abbia sbagliato? Concordo con l'obiezione fatta a piu' voci sulla utilita' che l'autore avrebbe reso mettendo a disposizione il file aggiornato...ma...purtroppo non e' cosi'. Grazie ancora della collaborazione. Apparentemente sembra tutto semplice ma poi... Ciao Stevez

Reply to
stevez

"stevez" ha scritto

o

Puoi salvare il file già come .asm.

senza

Se indichi quale è l'errore che hai avuto riportando il testo esatto che dà MPASMWIN forse si può dire qualcosa. E magari anche il testo del file .asm (se non è troppo grande) o almeno la parte che ti sembra legata all'errore. La frase "mi ha dato errore..." non dice praticamente niente.

Reply to
Marco

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.