spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Robotica di base > Informatica > P. in Assembler

Rispondi
 
Strumenti discussione Modalit visualizzazioe
  #1  
Vecchio 23-05-2012, 16.14.18
L'avatar di SoldatoSemplice
SoldatoSemplice SoldatoSemplice non è collegato
Robottaro master
 
Data registrazione: 06-07-2009
Residenza: Roma
Et: 36
Messaggi: 263
Potenza reputazione: 132
SoldatoSemplice La sua reputazione  oltre la sua famaSoldatoSemplice La sua reputazione  oltre la sua famaSoldatoSemplice La sua reputazione  oltre la sua famaSoldatoSemplice La sua reputazione  oltre la sua famaSoldatoSemplice La sua reputazione  oltre la sua fama
Predefinito L'istruzione MOVFF nei PIC18 influenza il WREG?

Ciao a tutti, come da titolo vorrei chiedere questa cosa, se io uso in un PIC18F l'istruzione MOVFF, questa usa come registro di appoggio il registro WREG?

Mi servirebbe saperlo perch il registro WREG impegnato e custodisce in appoggio, dati importanti provenienti da un'altra routine e mi serve che questo non venga minimamente toccato evocato una sottoroutine secondaria.

Leggendo il datasheet sembra che WREG non sia toccato dalla MOVFF ma lo stesso datasheet in merito un p vago, voi lo sapete percaso? Grazie.

E soprattutto, MOVFF pu copiare variabili che si trovano ad esempio una nel banco 15, ed una nel banco 1?

Quest'ultima cosa non credo
Rispondi citando
  #2  
Vecchio 24-05-2012, 08.56.08
L'avatar di guiott
guiott guiott non è collegato
Robottaro sostenitore
 
Data registrazione: 23-04-2004
Residenza: Roma
Et: 63
Messaggi: 1,418
Potenza reputazione: 336
guiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua fama
Invia un messaggio via AIM a guiott Invia un messaggio via MSN a guiott Invia un messaggio via Yahoo a guiott Send a message via Skype™ to guiott
Predefinito

Un raro esempio di specie in via di estinzione: Il Programmatorus Assemblus. Questa specie segnalata e protetta anche dal WWF in apposite zone.



Scusa la battuta ma non ho saputo resistere

Non uso l'assembler dai miei primi esperimenti sul PIC16F84. Ormai mi affido completamente ai compilatori in C, quindi scusa se ti rispondo con una domanda: hai qualche particolare ragione per usare l'assembly invece del C? E' solo curiosit non voglio assolutamente criticare anzi, ti ammiro per la pazienza che hai, a me finita dopo il primo programma che ho fatto in quel linguaggio.
__________________
Guido
------
www.guiott.com
Rispondi citando
  #3  
Vecchio 24-05-2012, 13.20.00
L'avatar di SoldatoSemplice
SoldatoSemplice SoldatoSemplice non è collegato
Robottaro master
 
Data registrazione: 06-07-2009
Residenza: Roma
Et: 36
Messaggi: 263
Potenza reputazione: 132
SoldatoSemplice La sua reputazione  oltre la sua famaSoldatoSemplice La sua reputazione  oltre la sua famaSoldatoSemplice La sua reputazione  oltre la sua famaSoldatoSemplice La sua reputazione  oltre la sua famaSoldatoSemplice La sua reputazione  oltre la sua fama
Predefinito

In realt il linguaggio di programmazione nativo per un microcontrollore solo l'assembly, tutti gli altri linguaggi e dialetti vari del C sono solo dei porting riadattati, tant' che nessuno raggiunge la resa di un assembly nativo.

Calcola che mi st sviluppando lo stack USB 2.0 in assembly, sono arrivato a stendere a mano pi di quattromila righe di codice, ed ho quasi completato l'enumeratore.

Rispondi citando
  #4  
Vecchio 24-05-2012, 13.37.26
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 24-05-2002
Residenza: Monselice (PD)
Et: 57
Messaggi: 5,458
Potenza reputazione: 422
marnic La sua reputazione  oltre la sua famamarnic La sua reputazione  oltre la sua famamarnic La sua reputazione  oltre la sua famamarnic La sua reputazione  oltre la sua famamarnic La sua reputazione  oltre la sua famamarnic La sua reputazione  oltre la sua famamarnic La sua reputazione  oltre la sua famamarnic La sua reputazione  oltre la sua famamarnic La sua reputazione  oltre la sua fama
Predefinito

Intanto complimenti anche da parte mia!!!!
Non molto tempo fa che mi hanno fatto notare quanto il fomoso rapporto fatica-gusto sia estremamente soggettivo e soggetto allo stato di forma.

Belle parole ma intanto nemmeno io so risponderti (per ti aiuto a tenere alta la visibilit di questo post )

Forse ti conviene farti una routine ad personam e valutare cosa succede al wreg
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
Rispondi citando
  #5  
Vecchio 24-05-2012, 13.57.09
L'avatar di guiott
guiott guiott non è collegato
Robottaro sostenitore
 
Data registrazione: 23-04-2004
Residenza: Roma
Et: 63
Messaggi: 1,418
Potenza reputazione: 336
guiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua famaguiott La sua reputazione  oltre la sua fama
Invia un messaggio via AIM a guiott Invia un messaggio via MSN a guiott Invia un messaggio via Yahoo a guiott Send a message via Skype™ to guiott
Predefinito

Citazione:
Orginalmente inviato da SoldatoSemplice Visualizza messaggio
In realt il linguaggio di programmazione nativo per un microcontrollore solo l'assembly, tutti gli altri linguaggi e dialetti vari del C sono solo dei porting riadattati, tant' che nessuno raggiunge la resa di un assembly nativo.
Permettimi di dissentire su questo. Non so se valido per tutte i costruttori, ma la Microchip ha fatto degli sforzi notevoli per ottimizzare reciprocamente HW e compilatori C. Questo porta ad un'ottimizzazione molto spinta del codice, anche se alcune volte raggiungibile solo con le versioni Pro e non con quelle free.
Non c' dubbio che le ottimizzazioni sono, per forza di cosa, generiche e quindi, in alcuni casi particolari, con un'ottima conoscenza della programmazione, si possa arrivare a risultati migliori. Questo non valido sempre e per tutti. Diciamo che in media, un buon compilatore C riesce ad ottenere risultati migliori di una programmazione assembly. Come al solito la media deve poi evidenziare quelli che sono gli estremi, diciamo oltre i + o - 2 sigma della distribuzione normale

Citazione:
Orginalmente inviato da SoldatoSemplice Visualizza messaggio
Calcola che mi st sviluppando lo stack USB 2.0 in assembly, sono arrivato a stendere a mano pi di quattromila righe di codice, ed ho quasi completato l'enumeratore.

Questo dimostra che tu sei oltre i 2 sigma
__________________
Guido
------
www.guiott.com
Rispondi citando
  #6  
Vecchio 26-05-2012, 08.00.38
L'avatar di Vendra
Vendra Vendra non è collegato
Robottaro master
 
Data registrazione: 15-04-2007
Residenza: Padova (Pd)
Et: 26
Messaggi: 207
Potenza reputazione: 110
Vendra La sua reputazione  oltre la sua famaVendra La sua reputazione  oltre la sua famaVendra La sua reputazione  oltre la sua fama
Send a message via Skype™ to Vendra
Predefinito

Ciao,
Io sono ancora a met utilizzo il C per arduino e l'assembly per i PIC.
Con Arduino sto facendo un robottino mentre con il PIC ho fatto un sistema di tracking per un pannello solare e finalmente dopo anni di scuola sono riuscito a vincere un premio (premio Pitacco).

Per il mio livello di programmazione e le risorse che ho a disposizione devo dire che il C molto pi comodo ed efficiente in termini di tempo (e pazienza) mentre l'assembly richiede pi tempo e (teoricamente) se qualcosa non funziona si s dove mettere le mani..

Il brutto del C (almeno per quanto riguarda la mia esperienza) che utilizzando librerie scritte da altre persone spesso influenzano i timer etc quindi mi sono ritrovato con i pwm che non funzionavano e dopo due settimane ho capito perch!

Tornando alla domanda di partenza l'istruzione MOVFF non influenza il registro W.

http://www.microchip.com/forums/m654204-print.aspx
__________________
Vendra
Rispondi citando
  #7  
Vecchio 26-05-2012, 08.23.07
L'avatar di astrobeed
astrobeed astrobeed non è collegato
Robottaro sostenitore
 
Data registrazione: 18-03-2004
Residenza: Roma
Et: 60
Messaggi: 3,377
Potenza reputazione: 350
astrobeed La sua reputazione  oltre la sua famaastrobeed La sua reputazione  oltre la sua famaastrobeed La sua reputazione  oltre la sua famaastrobeed La sua reputazione  oltre la sua famaastrobeed La sua reputazione  oltre la sua famaastrobeed La sua reputazione  oltre la sua famaastrobeed La sua reputazione  oltre la sua famaastrobeed La sua reputazione  oltre la sua fama
Predefinito

Citazione:
Orginalmente inviato da SoldatoSemplice Visualizza messaggio
In realt il linguaggio di programmazione nativo per un microcontrollore solo l'assembly, tutti gli altri linguaggi e dialetti vari del C sono solo dei porting riadattati, tant' che nessuno raggiunge la resa di un assembly nativo.
Ma assolutamente no, il C non un porting di nulla, tutti i processori/mcu moderni sono sviluppati, a livello set di istruzioni, per essere utilizzati con il C, questo non valido per la vecchia serie 16, ma valido per la serie 18 e successive.
Il C genera codice assembly molto compatto ed efficiente, un bravo programmatore C ottiene un eseguibile pi veloce, o compatto a seconda del tipo di ottimizzazione richiesta, di un bravo programmatore Assembly.
Il modo ottimale di procedere inserire del codice Assembly nel listato C per le routine time critical, o dove si deve garantire un certo comportamento specifico, e comunque capita molto raramente di doverlo fare.
Stack USB 2.0, io ne ho realizzato uno che permette device combo (incluso il mix tra HID e CDC) con poco pi di 800 righe in C18, super efficiente e richiede solo una manciata di microsecondi per eseguire una transazione completa.
Volersi incaponire ad usare l'Assembly dove non serve solo una perdita di tempo.
__________________
Bye
Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalit visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code Attivato
Le smilies sono Attivato
[IMG] Attivato
Il codice HTML Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Tutorial su come usare il modulo USB dei PIC18 Fu Mauro Forum generale 7 13-04-2010 19.10.11
Massima frequenza campionamento PIC18 maverik46 E. Digitale 3 18-01-2010 15.37.58
modulo ADC dei PIC18 picmania P. in C, C++ 2 31-12-2008 13.08.05
Istruzione asm pirata111 P. in Assembler 3 22-03-2008 14.13.58
usart, pic18 e c18 Marco P. in C, C++ 2 20-03-2003 16.23.00


Tutti gli orari sono GMT. Adesso sono le: 04.26.37.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB