Ci sono un Convenzioni di codice per il montaggio (principalmente PIC)? [chiuso]
-
09-09-2019 - |
Domanda
Ci sono convenzioni di codice per il montaggio (principalmente PIC)?
Soluzione
Sono stato in grado di trovare la href="http://www.sourceformat.com/pdf/asm-coding-standard-brown.pdf" rel="nofollow noreferrer"> Assembly Language Guide che potrebbe essere interessato a.
Altri suggerimenti
Quando si scrive di montaggio, è abbastanza utile e non è affatto in mare per Commento Ogni riga
Dipende se la programmazione in assembly o utilizzando un compilatore C per creare l'assembly per voi, se la prestazione è importante non utilizzare un compilatore C, scrivere l'assemblea da soli.
, ma, in generale, le convenzioni sono di commentare ogni linea, utilizzare semplici subroutine con nomi significativi del puntatore. ci sono quarantina si sarebbe commentare sul blocco, vale a dire
start: movlw 0x24 // \
movf count // put 24 into count
MyCount: decfsz count //decrement count and exit if done
goto myCount //do the loop
goto exit //count is done exit
Questa è la codifica tipico, la prima colonna per l'indirizzo puntatori il prossimo per il comando e associato vars di solito definire le Vars nella sezione di intestazione prima che il programma vero e proprio, ma che è soprattutto per l'assemblatore che si sta utilizzando. alcuni non vi danno l'opzione variabile puntatore e si deve utilizzare una posizione di memoria diretta. Se si guarda il codice commentato tornando dalla disassembler sarebbe simile.
0020 movlw 0x24
0021 movf 0x25 // 0x25 = memory address of count
0022 decfsz 0x25
0023 goto 0x0022 // loop back to 0x22 until count = 0
0024 goto 0x01FF
allora si commento fuori assicurarsi di gruppo per l'utilizzo del codice 'nop' s per compensare il codice a cifre tonde buone come iniziare ad avere un indirizzo di 20 indirizzi in uscita tra 2 e 20 chiaro per gli interrupt e simili. a seconda del chip scrivo un sacco di codice per le 12F675 di modo che è il modello di solito uso.
anche mantenere il codice in semplici subroutine chiare e là indirizzi devono essere numeri rotondi piacevoli lasciando blocchi di 10 o giù di lì NOP di fra i vostri subroutine iniziali si può sempre tornare indietro e comprimere il codice in seguito. e sempre lasciare un commento, il codice non è possibile commentare abbastanza.
Inoltre ho messo il mio usualy init routeen il più vicino alla fine della memoria come posible lasciando lo spazio massimo per quel programma vero e proprio.
La speranza che aiuta un po '.
io non credo che ci sia nulla di formale, ma leggendo i campioni di codifica sul loro sito web ti dà un assaggio dei soliti idiomi. Basta essere consapevoli che ci sono un sacco di 'contributi' da molti hobbisti diversi, e potrebbero non essere così bello.
controllare anche altri progetti, la maggior parte avrà codice brutto; ma troverete una gemma o due.
Non ho mai fatto programmi su PIC, ma piaceva leggere il codice. Mi ricordo vagamente un "sistema operativo in tempo reale" con una davvero bella e pulita flusso di esecuzione. Non ricordo come consistente è stato lo stile di codifica, ma mi piacerebbe cominciare da lì.
è meglio leggere la maggior parte di loro e quando è così facile come la prosa, allora troverete il vostro stile
Sono con Jason S - utilizzare un compilatore C, se possibile, anche se si finisce per incorporare alcune righe di linguaggio assembly nel file ".c" utilizzando la parola chiave '__asm'
.Se si deve scrivere interi programmi in assembler per il PIC, la convenzione funzione di chiamata consigliata è a PIClist:. PIC cercapersone e PCLATH
Si sarebbe davvero dipendono dal modello di PIC che si sta utilizzando. Ad esempio, PIC16s e PIC18s hanno un sacco di esempi di montaggio che possono essere facilmente trovati sul web.
Tuttavia modelli come PIC24 e PIC32 sono molto più orientati verso C. Loro sono un sacco di esempi PIC in C che si possono trovare sul sito web per il vostro modello di PIC specifica. Questi modelli PIC possono ancora essere programmate in Assemblea, ma la loro sono pochissimi esempi web su come. Il miglior risorsa per che è in MPLAB sotto "Aiuto", controllare il "Sommario" di qualsiasi Assembler vostro modello PIC utilizza. Questo ti mostrerà alcuni esempi, così come le istruzioni su come programmare in assembly PIC e svolgere compiti PIC semplici come la definizione di memoria o la scrittura di macro.